類的加載分三個過程,加載、鏈接、初始化,同時在鏈接也分爲三步驟:驗證、準備、解析。 以下圖所示指針
指的就是加載本地的class文件code
**驗證:**驗證.class文件是否合法圖片
**準備:**爲static變量賦初始化默認值it
**解析:**用一段代碼來解釋class
Class A{ public void callB(){ b.bMethod(); }; } Class B{ public void bMethod(){ ...... }; }
在解析類的時候,b.bMethod()就是符號引用,最近會被替換成指成bMethod的指針Pointer就是直接引用變量
爲變量賦正確的初始值,這一步與鏈接中的準備看似相同,實則不一樣引用
例如public static int a = 10;im
a這個變量先在準備階段賦默認值爲0,而後在初始化階段賦初始值爲10。call
別的類型一樣這種方式加載。static