java類加載過程面試題 java里有多少個類加載器?
java里有多少個類加載器?Java類加載器Java類加載器分為兩類,一類是系統(tǒng)的類加載器,一類是自定義類加載器。系統(tǒng)類加載器主要有下面三個引導類加載器,擴展類加載器,系統(tǒng)類加載器(還有線程上下文類加
java里有多少個類加載器?
Java類加載器
Java類加載器分為兩類,一類是系統(tǒng)的類加載器,一類是自定義類加載器。系統(tǒng)類加載器主要有下面三個引導類加載器,擴展類加載器,系統(tǒng)類加載器(還有線程上下文類加載器等等,但是主要有三個);自定義類加載器通過繼承 java.lang.ClassLoader類的方式實現,這個并沒有明確規(guī)定多少個。
功能
Java類加載器是負責讀取 Java 字節(jié)代碼,并轉換成 java.lang.Class類的一個實例。
工作過程
類加載器工作主要有五個階段:
1.加載:查找需要加載類的字節(jié)碼,并創(chuàng)建實例對象
2.驗證:對于字節(jié)信息的檢驗,防止危害虛擬機
3.準備:為類變量分配內存,并賦初始化值
4.解析:常量池中的符號引用替換為直接引用的過程
5.初始化:若該類具有超類,則對其進行初始化