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