1.Lazy initialization:
重读了《Effective Java第二版》Item 71.
奇新CMS初始化和连接数据库采用了lazy initialization for instance field,在奇新网站云系统中部署大规模的站点,启动的时间减少了10倍,重构代码实现这个改动并不麻烦,只添加了一个新class,以下内容摘自《Effective Java第二版》Item 71:
If you need to use lazy initialization for performance on an instance field,
use the double-check idiom.
2.ThreadLocal类型变量的使用
使用ThreadLocal变量不要忘记调用remove方法,因为一般线程运行完总会返回到线程池中,不调用remove方法会引起潜在的内存泄露。
3.性能问题
作为一个原则,在编写网络程序时,总是在需要时才装载类和调用相关的方法,类装载过多很影响程序启动速度,非常适用于Applet和Midlet编程。