您好,登錄后才能下訂單哦!
Java中類加載機制的原理是什么,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
加載:根據類的全限定名來獲取此類的二進制字節流;將這個字節流代表的靜態存儲結構轉化為方法區中的動態存儲結構;在內存中生成一個代表這個類的java.lang.Class對象,作為方法區中這個類的訪問入口。
驗證(連接):確保加載的類信息符合jvm規范,無安全方面的問題
準備(連接):為類變量分配內存并設置初始值,分配的內存在方法區中
解析(連接):將常量池中的符號引用轉化為直接引用的過程
初始化:初始化階段是執行類構造器 clinit() 方法的過程。該方法是由編譯器自動收集類中所有類變量的賦值動作和靜態語句塊合并產生。且保證子類的 clinit 調用之前會先調用父類的 clinit 方法。接口除外,如果一個類實現了接口,在執行該類的 clinit 方法,就不會執行接口的 clinit 方法。因為 clinit 方法可以不存在,比如接口沒有靜態語句塊和類變量。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。