没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
JVM类加载器与双亲委派
学习视频:学习视频
类的生命周期
一个类从加载到jvm内存,到从jvm内存卸载,生命周期可分为七个阶段。
1. 加载(Loading):classpath,jar包,网络,磁盘位置下的类的class以二进制字节流读进来,在内存
中生成一个代表这个类的Class类对象放入元空间。可以自定义类加载器。
2. 验证(Verification):验证Class文件的字节流中包含的信息是否符合java虚拟机规范
3. 准备(Preparation):类变量赋默认初始值
4. 解析(Resolution):把符合引用翻译为直接引用
5. 初始化(Initialization)
6. 使用(Using)
7. 卸载(Unloading)
类加载器
什么是类加载器
在类加载阶段,通过一个类的全限定名来获取描述该类的二进制字节流的这个动作的‘代码’被称
为‘类加载器’,这个动作可以自动有实现
jvm有哪些类加载器
1. 启动类(根)加载器:(Bootstrap Classloader),使用C++实现,是虚拟机自身的一部分
2. 其他类加载器:由java语言实现,全部继承自抽象类 java.lang.CLassLoader
3. jdk的三层类加载结构
不同类加载器加载哪些文件
1. 启动类加载器:<JAVA_HOME>\jre\lib\rt.jar,resources.jar,charsets.jar,被-Xbootclasspath参数
所指定的路径中存放的类库
2. 扩展类加载器:<JAVA_HOME>\jre\lib\ext,被java.ext.dirs系统变量所指定的路径中所有的类库。
3. 应用程序类加载器(Application Classloader):系统类加载器,加载用户类路径(classPath)上所
有的类库。
注意:三层加载器不是类的继承关系。 appclassloader 和 extclassloader 继承自
urlclassload ,二者之间没有继承关系。
package com;
public class example {
public static void main(String[] args) {
example example = new example();
Class<? extends com.example> aClass = example.getClass();
剩余15页未读,继续阅读
XiZi
- 粉丝: 59
- 资源: 325
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0