JVM
2022-04-08 19:20:22 2 举报
JVM
作者其他创作
大纲/内容
栈帧1
轻GC
养老区
栈帧2
线程1
对象引用八大基类实例方法
动态链接
方法区
重GC
老年代
当前栈帧
1.标记清除算法: 标记存活对象和垃圾对象,然后清除垃圾对象。内存使用率高,但是会有空间碎片产生。2.标记压缩算法: 标记存活对象和垃圾对象,然后把存活对象和垃圾对象分别向两端移动,然后清除垃圾对象,适用于存活对象多,垃圾对象少的情况,没有空间碎片产生
实例对象
本地方法栈native-method stack
凡是带有native关键字的,说明java作用范围达不到了,需要调用底层c语言。进入本地方法栈,调用本地方法的接口JNI(使java扩展融合不同的编程语言,为之所用)
栈是线程私有的,栈的最小单位是栈贞,栈贞里面有局部变量表,操作数,动态链接,返回地址等
永久代(jdk1.8改为meta sapce,元空间,逻辑上存在,物理上不存在)
幸存者区from
heap
GC复制算法:不会产生空间碎片,内存使用率低
线程2
新生代
操作数
线程n
本地方法接口
Eden
栈帧n
幸存者区to
永久存储区
返回地址
程序计数器
stack
staticfinalclass常量池
局部变量表
0 条评论
下一页