類加載機制

  1. 當程序主動使用某個類時,若是該類還未被加載到內存中,則系統會經過加載,鏈接,初始化三個步驟來對該類進行初始化。java

  2. 類加載指的是將類的class文件讀入到內存,併爲之建立一個java.lang.Class對象,也就是說,當程序中使用任何類時,系統都會爲之建立一個java.lang.Class對象。網絡

  3. 經過使用不一樣的類加載器,能夠從不一樣來源加載類的二進制數據,一般有如下幾種來源spa

        從本地文件系統加載class文件orm

        從JAR包加載class文件對象

        用過網絡加載class文件內存

        把一個Java源文件動態編譯,並執行加載it

    四、當類被夾在以後,系統會爲之生成一個對應的class對象,接着進入鏈接階段。鏈接負責把類的二進制數據合併到JRE中。編譯

        驗證:檢驗被加載的類是否有正確的內部結構,並和其餘類協調一致。class

        準備:爲類的靜態Field分配內存,並進行出初始化。引用

        解析:將類的二進制數據中的符號引用替換成直接引用。

    五、類的初始化

    (1)、假設這個類尚未被加載和鏈接,則會加載並鏈接該類。

    (2)、假如該類的直接父類尚未被初始化,則先初始化直接父類,因此JVM最早初始化的老是java.lang.Object類。

    (3)、假如類中有初始化語句,則系統依次執行這些初始化語句。



、    

相關文章
相關標籤/搜索