小老虎的業(yè)余學習【一】通過靜態(tài)工廠方法取代構(gòu)造器

今天,小老虎看了一本書Effective Java書在看第二章創(chuàng)建和銷毀對象的時候,很迷糊,于是做了一個實驗。
迷糊的是靜態(tài)工廠方法返回new的對象的時候,認為應(yīng)該是返回同一內(nèi)存地址值,多個方法同時調(diào)用這個靜態(tài)方法的話,會產(chǎn)生數(shù)據(jù)錯亂的問題。

因為,就小老虎了解的當初始化的時候靜態(tài)方法會進入到靜態(tài)方法方法區(qū)中。而且,每次的話應(yīng)該是內(nèi)存地址值一樣的。同樣的對象。

結(jié)果,證明了這個想法是錯誤的。

首先寫了一個Obj

Obj

然后寫了一個靜態(tài)方法,返回Obj這個類的對象。

Obj Method

然后,打印地址值發(fā)現(xiàn)了地址值不一樣。

Result

于是明白了,因為每次的調(diào)用,相當于重新new,只不過是在靜態(tài)方法區(qū)初始化的。

不過還考慮到一個問題,那就是靜態(tài)方法區(qū)中對象的銷毀。

等小老虎研究后再告訴大家吧~~~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容