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