當一個Java類被加載到內存中時,它經歷以下幾個階段的加載順序:
加載階段(Loading):加載階段是指將類的二進制數據加載到JVM中的階段。在這個階段,類加載器會通過類的全限定名(Fully Qualified Name)來查找類的二進制文件,并將其加載到內存中。
驗證階段(Verification):在驗證階段,虛擬機會驗證加載的類的二進制數據是否符合JVM規范,以防止類的二進制文件被惡意篡改或損壞。
準備階段(Preparation):在準備階段,虛擬機會為類的靜態變量分配內存空間,并為這些靜態變量設置初始值(通常是默認值)。
解析階段(Resolution):在解析階段,虛擬機會將類的符號引用轉換為直接引用,以便能夠正確地訪問類的方法和字段。
初始化階段(Initialization):在初始化階段,虛擬機會執行類構造器(即類的
總的來說,Java類的加載順序是:加載階段 -> 驗證階段 -> 準備階段 -> 解析階段 -> 初始化階段。