JVM_01类加载机制
2022-09-01 20:35:10 0 举报
AI智能生成
登录查看完整内容
JVM学习总结---类加载机制
作者其他创作
大纲/内容
由c++实现的引导类加载器加载
并创建其他类加载器,相当于其他类加载器的启动类
初始化了 扩展类加载器对象
初始化了 应用类加载器对象
构造方法
sun.misc.Launcher
jvm加载属于懒加载,再有再用它得时候才会去加载
主类在运行过程中如果使用到其它类,会逐步加载这些类。
jar包或war包里的类不是一次性全部加载的,是使用到时才加载。
构造方法在类加载完之后才会执行
基础点
加载
验证
准备
解析
初始化
过程
JRE的lib目录下
例子:System.out.println(String.class.getClassLoader()); --->null
Launcher.getBootstrapClassPath().getURLs()
类路径
引导类加载器
JRE的lib目录下的ext扩展目录中
System.out.println(com.sun.crypto.provider.DESKeyFactory.class.getClassLoader());
父加载器是引导类加载器(是父加载器,不是父类)
System.getProperty(\"java.ext.dirs\")
扩展类加载器
System.out.println(TestJDKClassLoader.class.getClassLoader());
父加载器是扩展类加载器(是父加载器,不是父类)
System.getProperty(\"java.class.path\")
应用程序类加载器
类加载器
概念
实现方法
沙箱安全机制
避免类的重复加载
为什么要设计双亲委派机制
自定义类加载器
打破双亲委派机制
全盘负责委托机制
findClass
只需要继承 java.lang.ClassLoader 类
双亲委派机制
类加载机制
0 条评论
回复 删除
下一页