JVM堆内存模型与类加载系统
2021-03-26 19:20:00 0 举报
为你推荐
查看更多
JVM堆内存模型与类加载系统
作者其他创作
大纲/内容
1、自底向下去检查该类是否已经被加载
向上检查向下加载
启动类加载器(BootstartClassloader)
Class数据结构的存储(类信息)
STW:Stop The Wold在开始GC线程的时候让用户线程停止
堆
类加载子系统
s0(1/10)
扩展类加载器(ExtensionClassloader)
开启GC垃圾收集线程
执行引擎
栈
自定义类加载器
类加载器
S0或者S1放不下对象,或者对象的年龄达到了15,就会把对象移到老年代
堆内存模型
加载路径:$JAVA_HOME中jre/lib/ext
本地方法栈
Eden(伊甸园区)(8/10)
class文件
常连池
Minor GC、Young GC(针对年轻代),当Eden区不够时触发
系统级别:1、启动类加载器2、扩展类加载器3、系统类加载器(APP类加载器)用户级别:自定义类加载器(继承ClassLoader)
加载JRE中的jar
JVM级别
方法区(元空间)
s1(1/10)
Full GC(针对整个堆),永久代空间不足,对重法分配很大的对象的时候触发
加载路径:$JAVA_HOME中jre/lib/rt.jar
底层java继承ClassLoader
2、自顶向下依次加载
加载路径:classpath下的class以及jar包
底层使用C++实现
老年代(2/3)
Survivor区(幸存者区)
年轻代(1/3)
程序计数器
应用类加载器(AppClassloader)
0 条评论
回复 删除
下一页