ClassLoader的分类有哪些?ClassLoader加载顺序是什么?类加载的顺序又是什么?
ClassLoader的分类有哪些?加载顺序是什么?类加载的顺序又是什么?
答:ClassLoader分为4种:Jvm类加载器(BootstarpClassLoader),Jvm扩展类加载器(extClassLoader),系统类加载器(SystemClassLoader),自定义类加载器(AppClassLoader)
----------------------------------------------------------------------------------------------------------------------------
ClassLoader加载顺序:
=>Jvm类加载器加载JAVA_HOME/lib下的所有jar文件
=>Jvm扩展类加载器加载JAVA_HOME/lib/ext下的所有jar文件
=>系统类加载器加载指定classpath下所有jar文件
=>自定义类加载器加载继承官方提供的ClassLoader类的自定义实现加载器class文件。
----------------------------------------------------------------------------------------------------------------------------
类加载的顺序是
加载->链接(验证+准备+解析)->初始化(使用前的准备)->使用->卸载
Jvm会在启动的时候去加载系统所必须的JAVA_HOME/lib下的所有jar文件,
Jvm对于第三方类会才用懒加载的方式,即:用到的时候再进行加载,加载完成会放入缓存,以便后续使用。