類加載器的原理分析

一、類的加載過程:

JVM將類加載過程分爲三個步驟:裝載(Load),鏈接(Link)和初始化(Initialize)鏈接又分爲三個步驟。

如圖所示。

1.裝載: 

查找並加載類的二進制數據。

2.連接:

驗證:確保被加載類的正確性;

準備:爲類的靜態變量分配內存,並將其初始化爲默認值;

解析:把類中的符號引用轉換爲直接引用;

3.初始化:

爲類的靜態變量賦予正確的初始值。

二、類的初始化

類什麼時候纔會被初始化?

分爲如下步驟:

2、類的初始化,類什麼時候才被初始化:
1)創建類的實例,也就是new一個對象
2)訪問某個類或接口的靜態變量,或者對該靜態變量賦值
3)調用類的靜態方法
4)反射
5)初始化一個類的子類(會首先初始化子類的父類)
6)JVM啓動時標明的啓動類,即文件名和類名相同的那個類

三、類的加載:

指的是將類的.class文件中的二進制數據讀入到內存中,將其放在運行時數據區的方法區內,然後在堆區創建一個這個類Java.lang.Class對象,用來封裝類在方法區類的對象。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章