Java類的加載過程包括以下步驟:
加載(Loading):將類的字節碼文件加載到內存中。這個階段由類加載器完成,類加載器將字節碼文件從磁盤或網絡讀取到內存,并創建一個對應的Class對象。
驗證(Verification):驗證字節碼文件的合法性。這個階段確保字節碼文件符合Java虛擬機的要求,并且不會危害到虛擬機自身的安全。
準備(Preparation):為類的靜態變量分配內存空間并初始化默認值。在這個階段,虛擬機為類的靜態變量分配內存,并設置默認初始值。
解析(Resolution):將符號引用轉換為直接引用。在Java程序中使用到的類、方法和字段都是通過符號引用來表示的,解析階段將這些符號引用轉換為對應的直接引用,使得程序可以直接訪問這些類、方法和字段。
初始化(Initialization):執行類的初始化代碼。在這個階段,虛擬機會執行類的靜態初始化語句,包括執行靜態變量的賦值語句和靜態代碼塊。
使用(Using):使用加載的類。在類加載完成后,就可以通過創建實例、調用方法或訪問字段來使用這個類。
卸載(Unloading):卸載不再使用的類。當類不再被引用,且沒有活動的實例時,虛擬機可以卸載這個類,釋放內存空間。
需要注意的是,Java類的加載過程是按需進行的,即在需要使用某個類時才會加載它。