`
sameseam
  • 浏览: 23153 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论
文章列表
延迟加载(Lazy Loading)是啥玩意儿?估计地球人都知道,它的意义在于只在需要的时候才去加载必要的数据,这样可以避免即时加载所带来的不必要的系统开销(教科书是这么说的)。另外,教科书中还举了个例子。例如某个User对象 ...
在Hibernate3中,引入了一种新的特性——属性的延迟加载,这个机制又为获取高性能查询提供了有力的工具。在前面我们讲大数据对象读取时,在User对象中有一个resume字段,该字段是一个java.sql.Clob类型,包含了用户的简历信息,当我们加载该对象时,我们不得不每一次都要加载这个字段,而不论我们是否真的需要它,而且这种大数据对象的读取本身会带来很大的性能开销。在Hibernate2中,我们只有通过我们前面讲过的面性能的粒度细分,来分解User类,来解决这个问题(请参照那一节的论述),但是在Hibernate3中,我们可以通过属性延迟加载机制,来使我们获得只有当我们真正需要操作这个字段 ...
简介  言归正传!在实际的软件开发过程中,经常会碰到如下场景:某个模块负责产生数据,这些数据由另一个模块来负责处理(此处的模块是广义的,可以是类、函数、线程、进程等)。产生数据的模块,就形象地称为生产者;而处理数据的模块,就称为消费者。  单单抽象出生产者和消费者,还够不上是生产者/消费者模式。该模式还需要有一个缓冲区处于生产者和消费者之间,作为一个中介。生产者把数据放入缓冲区,而消费者从缓冲区取出数据。大概的结构如下图。   为了不至于太抽象,我们举一个寄信的例子(虽说这年头寄信已经不时兴,但这个例子还是比较贴切的)。假设你要寄一封平信,大致过程如下:  1、你把信写好——相当于生产者制造数 ...
一、同步问题提出 线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏。 例如:两个线程ThreadA、ThreadB都操作同一个对象Foo对象,并修改Foo对象上的数据。 public class Foo { private int x = 100; public int getX() { return x; } public int fix(int y) { x = x - y; return x; } } public class MyRunnable implements Runnable { private Foo foo = new F ...
Eclipse中设置编码的方式 如果要使插件开发应用能有更好的国际化支持,能够最大程度的支持中文输出,则最好使 Java文件使用UTF-8编码。然而,Eclipse工作空间(workspace)的缺省字符编码是操作系统缺省的编码,简体中文操作系统 (Windows XP、Windows 2000简体中文)的缺省编码是GB18030,在此工作空间中建立的工程编码是GB18030,工程中建立的java文件也是GB18030。如果要使新建立工程、java文件直接使UTF-8则需要做以下工作: 1、 windows->Preferences->general->Workspace,右侧 ...
Java代码 importjava.lang.reflect.Array; importjava.lang.reflect.Constructor; importjava.lang.reflect.Field; importjava.lang.reflect.Method; importjava.util.Arrays; /** *浅谈Java反射 * *@authorleejon * */ publicclassReflectTest{ @SuppressWarnings("uncheck ...
工作流技术起源于上世纪七十年代中期,兴起于九十年代,那时候一系列的规范和工作流原型系统从实验室开发出来,到今天工作流已经盛行。随着信息技术的发展和企业的发展,企业利用信息化对企业进行流程再造,进行精 ...
内部类的分类:成员内部类,静态内部类,局部内部类,匿名内部类 成员内部类:如同类的普通成员一样。 1 可以加任意的修饰:private, protected.(顶级类只可以为public, default) 2 内部类不可脱离其外部类的限制使用, 因此在外部类以 ...
<!--StartFragment--> 参考了网上一些资料,实现了session通过filter存储到memcached服务器上. (参见: http://ooft.javaeye.com/blog/537841 ) 实现方式: a)通过MemcachedSessionFilter过滤器拦截cookie,取得的sessionId,通过sessionId构造新的HttpServletRequestWrapper对象,传给后面的应用. b)继承重构HttpServletRequestWrapper,HttpSessionWrapper类,覆盖原来和session存取 ...
为了使web应用能使用saas模式的大规模访问,必须实现应用的集群部署.要实现集群部署主要需要实现session共享机制,使得多台应用服务器之间会话统一, tomcat等多数服务都采用了session复制技术实现session的共享. session复制技术的问 ...
最近看到很多人的网站都被注入js,被iframe之类的。非常多。 本人曾接手过一个比较大的网站,被人家入侵了,要我收拾残局。。 1.首先我会检查一下服务器配置,重新配置一次服务器安全,可以参考 http://hi.baidu.com/zzxap/blog/item/18180000ff921516738b6564.html 2.其次,用麦咖啡自定义策略,即使网站程序有漏洞,别人也很难在文件上写入代码了。 参考自定义策略,有了这个策略,再烂的程序,你也无法写入我的文件 http://hi.baidu.com/zzxap/blog/item/efe093a7e0f2c190d04358ef.html ...
这几天应公司的要求,要把所有的服务器换成linux的,要求搭建个apache+2个JBOSS集群实现负载均衡的要求,之前对linux也不是特别的熟悉,参考了很多资料,反复的实验,终于把环境搭建成功了,测试通过。这里把我搭建的详细步骤共享给大家看看,希望对想学习的人有帮助。这里只做到实现功能,没有写出优化的地方。好了,开始吧: 配置环境:APACHE+JBOSS+JBOSS 其中apche跟其中一个jboss在同一个服务器上,IP为192.168.1.95 另外一个jboss部署在192.168.1.198服务器上 系统均为linux-redhat5 基本配置 1·配置静态IP ...
使用memcached作为orm缓存实现已经有一段时间了, 今天写了一段测试代码,想看看缓存对系统性能到底有多大提升,结果出乎意料。 测试方法 getById(String id),根据记录id从数据库中查出对象。 1. jdbc版本实现:直接用jdbc执行select ...
1 Memcache是什么Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。 它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached自管理这些HashTable。 为什么会有Memcache和memcached两种名称? 其实Memcache是这个项目的名称,而memcached是它服务器端的主程序文件名, Memcache官方网站:http://www.danga.com/mem ...
使用memcached作为orm缓存实现已经有一段时间了, 今天写了一段测试代码,想看看缓存对系统性能到底有多大提升,结果出乎意料。 测试方法 getById(String id),根据记录id从数据库中查出对象。 1. jdbc版本实现:直接用jdbc执行select方法,代码大致如下 Java代码 PreparedStatementpst=null; ResultSetset=null; sql="select"+TABLECOLUMN+"from"+TABLENAME+"where" ...
Global site tag (gtag.js) - Google Analytics