- 作為static變量,static屬性是不會被序列化的,但是log object被定義成static,如果該類是shared library,常常會出現問題。因為shared library的classloader可能是每個application classloader的祖輩,所以這些類只會被load一次,也就是說所有application就會共享這個log object,所有的log信息都會輸出到相同的地方.






- 作為類的實例變量:log對象一般情況下是不需要序列化的,所以我們需要用transient來聲明。
方法1:








方法2:






這個比起靜態變量,每個實例都需要創建一個引用,都要分配4或者8個字節的空間,需要消耗更多的cpu和內存,但是保險。
posted on 2008-07-04 11:38 叱咤紅人 閱讀(1250) 評論(2) 編輯 收藏 所屬分類: J2SE and JVM 、Other Java and J2EE frameworks