說明
當程序主動使用某個類時,如果該類還未被加載到內存中,則系統會通過以下三個步驟對該類進行初始化。
類加載步驟
1、加載:將class文件字節碼內容加載到內存中,并將這些靜態數據轉換成方法區的運行時數據結構,然后生成一個代表這個類的 java.lang.Class 對象,作為方法區中類數據的訪問入口。
2、鏈接:將Java類的二進制代碼合并到JVM的運行狀態之中的過程。
3、執行類構造器() 方法的過程。
實例
public class ClassLoadingTest{
public static void main (String [] args){
System.out.println(test.m);
}
}
class test{
static {
m = 300;
}
static int m = 100;
}
//第一步:加載
//第二步:鏈接結束后m=0
//第三步:初始化結束后,m的值由()方法執行決定
/*
這個test構造器()方法由類變量的賦值和靜態代碼塊中的語句按照順序合并產生,類似于
(){
m = 300;
m = 100;
}
*/
以上就是java類加載的過程,希望對大家有所幫助。更多關于“java培訓”的問題,歡迎咨詢千鋒教育在線名師。千鋒教育多年辦學,課程大綱緊跟企業需求,更科學更嚴謹,每年培養泛IT人才近2萬人。不論你是零基礎還是想提升,都可以找到適合的班型,千鋒教育隨時歡迎你來試聽。