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






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








方法2:






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