sun.misc.Launcher<br>
由c++实现的引导类加载器加载<br>
并创建其他类加载器,相当于其他类加载器的启动类<br>
构造方法<br>
初始化了 扩展类加载器对象<br>
初始化了 应用类加载器对象<br>
基础点
jvm加载属于懒加载,再有再用它得时候才会去加载
主类在运行过程中如果使用到其它类,会逐步加载这些类。
jar包或war包里的类不是一次性全部加载的,是使用到时才加载。
构造方法在类加载完之后才会执行
类加载器<br>
引导类加载器<br>
JRE的lib目录下<br>
例子:System.out.println(String.class.getClassLoader()); --->null<br>
类路径<br>
Launcher.getBootstrapClassPath().getURLs()<br>
扩展类加载器<br>
JRE的lib目录下的ext扩展目录中<br>
System.out.println(com.sun.crypto.provider.DESKeyFactory.class.getClassLoader()); <br>
父加载器是引导类加载器(是父加载器,不是父类)<br>
类路径
System.getProperty("java.ext.dirs")<br>
应用程序类加载器<br>
System.out.println(TestJDKClassLoader.class.getClassLoader());<br>
父加载器是扩展类加载器(是父加载器,不是父类)<br>
类路径
System.getProperty("java.class.path")<br>