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編程。