/**
* Hello world!
* 什么是双亲委派模型?
* 答: 双亲委派模型是 Java 类加载器的一种工作模式,通过这种工作模式,Java 虚拟机将类文件加载到内存中,这样就保证了 Java 程序能够正常的运行起来
*
* 1 启动类加载器(Bootstrap ClassLoader)
* 2 扩展类加载器(Extension ClassLoader)
* 3 应用程序类加载器(Application ClassLoader)
*
* 执行流程 :
*
* 在 缓存中查找相应的类 如果 找到 就 返回对象 找不到 就继续找 结束完 还是找不到,就 返回 ClassNotFound 异常
* 3 -> 2 ->1 -> 2 -> 3 (返回 ClassNotFound 异常)
*
* 优点:
* 双亲委派模型的优点有两个 :
* 安全 避免重复加载
*
* 缺点 : 有些老代码 ,可能加载不出来
*
*
*
*
*/
public class AppRun
{
public static void main( String[] args )
{
// 启动类加载器
System.out.println("启动类加载器:"+String.class.getClassLoader()+"---------Hello World!" );
// 打印: rt classloader:null---------Hello World!
// 扩展类加载器
System.out.println("扩展类加载器:"+
sun.net.spi.nameservice.dns.DNSNameService.class.getClassLoader()
);
// 打印:ext classloarder:sun.misc.Launcher$ExtClassLoader@677327b6
// 应用程序类加载器
System.out.println("应用程序类加载器:"+
AppRun.class.getClassLoader()
);
// application classloader:sun.misc.Launcher$AppClassLoader@18b4aac2
}
}
双亲委派模型:
于 2024-03-12 20:53:53 首次发布