1.類(lèi)從編譯到加載的過(guò)程
編譯器將.java文件編譯成.class文件
ClassLoader將.class文件轉(zhuǎn)換為JVM中的Class<className>對(duì)象
JVM將Class對(duì)象實(shí)例化為className對(duì)象
image

image.gif
2.ClassLoader的種類(lèi)
BootStrap Class Loader(啟動(dòng)類(lèi)加載器):C++編寫(xiě),加載java自帶的核心類(lèi),如java.lang包,由JVM內(nèi)核實(shí)現(xiàn)
Extension Class Loader(擴(kuò)展類(lèi)加載器):用戶(hù)可見(jiàn)(java編寫(xiě),代碼可以直接點(diǎn)進(jìn)去看),加載jre外ext目錄下的jar包,用戶(hù)也可將自己自定義的jar包放在該路徑下
Application Class Loader(應(yīng)用程序類(lèi)加載器):java編寫(xiě),加載classpath下的內(nèi)容(程序所在目錄)
自定義ClassLoader:java編寫(xiě)加載方式自定義