相同點(diǎn):
1.load:
1.加入運(yùn)行時(shí)系統(tǒng)的類以及分類一定加載此方法,且調(diào)用順序是 主類>分類,并且僅調(diào)用一次。
2.方法的調(diào)用會(huì)在main方法執(zhí)行之前
3.在load方法中進(jìn)行代碼的編寫是不安全的,因?yàn)榫帉憰r(shí)可能會(huì)依賴其它的類,然而在統(tǒng)一庫中,我們不能確定類加載的順序,因此可能造成沒有初始化的類被使用,出現(xiàn)bug。
4.盡量精簡load方法中的代碼,因?yàn)閘oad方法中會(huì)阻塞線程,執(zhí)行過多的代碼會(huì)影響性能
5.load方法中適合運(yùn)用運(yùn)行時(shí)對方法進(jìn)行交換
2.initialize
1.在使用對應(yīng)類之前由運(yùn)行期系統(tǒng)調(diào)用,且只加載一次,為懶加載
2.在方法中對實(shí)例操作是線程安全的,但是由于執(zhí)行此方法時(shí)會(huì)阻塞線程,所以也要盡量精簡代碼。
3.如果某類沒有實(shí)現(xiàn)initialize方法,而其超類實(shí)現(xiàn)了,則系統(tǒng)會(huì)調(diào)用兩次initialize方法,這點(diǎn)與load不同。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。