java三種類(lèi)加載器 java里有多少個(gè)類(lèi)加載器?
java里有多少個(gè)類(lèi)加載器?Java類(lèi)加載器分為兩類(lèi),一類(lèi)是系統(tǒng)類(lèi)加載器,另一類(lèi)是自定義類(lèi)加載器。有三個(gè)系統(tǒng)類(lèi)加載器:引導(dǎo)類(lèi)加載器、擴(kuò)展類(lèi)加載器、系統(tǒng)類(lèi)加載器(和線程上下文類(lèi)加載器,但主要有三個(gè));用
java里有多少個(gè)類(lèi)加載器?
Java類(lèi)加載器分為兩類(lèi),一類(lèi)是系統(tǒng)類(lèi)加載器,另一類(lèi)是自定義類(lèi)加載器。有三個(gè)系統(tǒng)類(lèi)加載器:引導(dǎo)類(lèi)加載器、擴(kuò)展類(lèi)加載器、系統(tǒng)類(lèi)加載器(和線程上下文類(lèi)加載器,但主要有三個(gè));用戶定義的類(lèi)加載器使用繼承java.lang.ClassLoader類(lèi)加載器類(lèi),它不指定數(shù)量。
Java類(lèi)加載器負(fù)責(zé)讀取Java字節(jié)碼并將其轉(zhuǎn)換為java.lang.Class類(lèi)班級(jí)。
類(lèi)加載器主要有五個(gè)階段:1。加載:找到要加載的類(lèi)的字節(jié)碼,創(chuàng)建實(shí)例對(duì)象
2。驗(yàn)證:檢查字節(jié)信息,防止對(duì)虛擬機(jī)造成傷害
3。準(zhǔn)備:為類(lèi)變量分配內(nèi)存,并指定初始化值
4。解析:用直接引用替換常量池中的符號(hào)引用的過(guò)程
5。初始化:如果類(lèi)有一個(gè)超類(lèi),那么初始化它