第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

是否每個“新”都會導致至少一個 Classloader.loadClass 調(diào)用

是否每個“新”都會導致至少一個 Classloader.loadClass 調(diào)用

慕碼人8056858 2021-09-15 15:21:00
我注意到我們可以隨意設置線程的上下文類加載器。這是否意味著new上下文類加載器的 loadClass 被調(diào)用的每個結(jié)果?
查看完整描述

2 回答

?
收到一只叮咚

TA貢獻1821條經(jīng)驗 獲得超5個贊

不,loadClass()只會在第一次訪問類時調(diào)用一次。(這不一定會發(fā)生在 上new(),如果您嘗試訪問static類的成員,則可能會發(fā)生這種情況。)

在該類的每次后續(xù)訪問中,loadClass()都不會被調(diào)用。

這是因為每次需要該類時,ClassLoader 都會在findClass()內(nèi)部調(diào)用,它會嘗試查找已加載的類,因此如果該類已加載,則 ClassLoader 會避免loadClass()再次調(diào)用。


查看完整回答
反對 回復 2021-09-15
?
縹緲止盈

TA貢獻2041條經(jīng)驗 獲得超4個贊

類加載器的類加載可以實現(xiàn)為在另一個類引用它時立即加載一個類或延遲加載該類直到需要類初始化,但您應該注意,在某些情況下,行為可能與新的不完全相同,并且其他人可能也一樣。如果 Class 在實際使用之前被加載,它可以在初始化之前放在里面。這可能因JVM而異,但JLS保證在需要靜態(tài)初始化時會加載一個類。

對于給定的命名空間,類加載僅執(zhí)行一次,除非相關類先前已被卸載。因此,等效表達式A.class.getClassLoader().loadClass("B's canonical name")在大多數(shù)情況下只會執(zhí)行一次。換句話說,如果您有兩個表達式 - new A(),則 loadClass 將只執(zhí)行一次。


查看完整回答
反對 回復 2021-09-15
  • 2 回答
  • 0 關注
  • 195 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號