ClassLoader的分類有哪些?加載順序是什麼?類加載的順序又是什麼?緩存
答:ClassLoader分爲4種:Jvm類加載器(BootstarpClassLoader),Jvm擴展類加載器(extClassLoader),系統類加載器(SystemClassLoader),自定義類加載器(AppClassLoader)spa
----------------------------------------------------------------------------------------------------------------------------繼承
ClassLoader加載順序:class
=>Jvm類加載器加載JAVA_HOME/lib下的全部jar文件擴展
=>Jvm擴展類加載器加載JAVA_HOME/lib/ext下的全部jar文件文件
=>系統類加載器加載指定classpath下全部jar文件path
=>自定義類加載器加載繼承官方提供的ClassLoader類的自定義實現加載器class文件。懶加載
----------------------------------------------------------------------------------------------------------------------------系統
類加載的順序是tar
加載->連接(驗證+準備+解析)->初始化(使用前的準備)->使用->卸載
Jvm會在啓動的時候去加載系統所必須的JAVA_HOME/lib下的全部jar文件,
Jvm對於第三方類會才用懶加載的方式,即:用到的時候再進行加載,加載完成會放入緩存,以便後續使用。