AI
推荐
模板社区
专题
登录
免费注册
首页
思维导图
详情
1 类加载机制
2022-07-31 11:12:50
0
举报
分享方式
使用 (¥5)
AI智能生成
jvm类加载机制
java
java
jvm
类加载机制
模板推荐
作者其他创作
大纲/内容
类加载的过程
loadClass加载类
加载
验证
验证字节码文件正确性
准备
静态变量分配内存和赋值
解析
符号引用替换直接引用
字面量替换成内存的指针(或者偏移量、句柄)
静态链接
编译期间完成
动态链接
运行期间完成
初始化
初始化静态变量
执行静态代码
运行时常量池、类型信息、字段信息、方法信息、类加载器的引用、对应class实例的引用
使用
卸载
类加载器
4种类加载器
引导类加载器
加载jre/lib下的核心类库
扩展类加载器
加载jre/lib/ext下的jar
应用程序加载器
加载classPath下的自己写的类
自定义加载器
加载用户自定义路径下的类包
自定义类加载器
只需继承java.lang.ClassLoader
loaderClass方法实现双亲委派机制,不需要重写
重写findClass方法<br>
双亲委派机制
类加载器亲子级结构
先找父亲加载,不行再由儿子自己加载,加载过就不会加载<br>
为什么要设计双亲委派机制
沙箱安全机制
自己写的和api一致的类不会被加载
防止核心api被篡改
避免类的重复加载
保证被加载的类唯一性
打破双亲委派机制
tomcat打破双亲委派机制
为何要打破
多个应用程序独立且相互隔离、容器依赖的类库与应用隔离
相同类库相同版本可以共享
jsp修改后不用重启
自定义类加载器详解
类加载器委派关系
<br>
4种类加载器
CommonClassLoader
基本类加载器,加载的可以被tomcat容器和应用访问
CatalinaClassLoader
私有类加载器,只能容器访问
SharedClassLoader
共享类加载器,应用共享,tomcat容器不可见
WebAppClassLoader
应用类加载器,只对当前应用可见
同一个jvm非亲子关系的加载器加载的相同包下的相同类可以共存
如何打破
自定义类加载器,继承ClassLoader类,重写loadClass方法
使用线程上下文类加载器
收藏
立即使用
1 类加载机制
收藏
立即使用
2 jvm内存模型
腿着去上班
职业:暂无
去主页
Collect
Get Started
jvm类加载机制
Collect
Get Started
类加载机制
Collect
Get Started
类加载机制
Collect
Get Started
JVM类加载机制
评论
0
条评论
下一页
图形选择
思维导图
主题
补充说明
AI生成
修改AI描述
去编辑
重新生成
提示
关闭后当前内容将不会保存,是否继续?
取消
确定
Document