JVM
2019-07-06 17:11:20 71 举报
JVM内存模型
作者其他创作
大纲/内容
指向当前线程正在执行的字节码指令的地址(线程切换时用到)
Minor GC回收
每个方法对应一个栈帧
。。。。。。
运行时编译
JVM内存模型
运行时才有
本地方法栈
数组
方法区
及时编译期编译的代码
1:八大基础类型
检测递归
大对象(直接进来)
程序计数器
-Xss设置栈大小,默认1M,一般是小了更好,省内存,栈溢出会报StackOverflowError
可达性分析算法(判断到GC_ROOT是否可达)
指令
回收触发条件:内存不够或规定的回收时间到了
返回地址
栈帧n
To Survivor
2:引用
MAT
90%的不需要垃圾回收
新生代
动态链接
回收算法
老数据
静态变量
常量
0:this
内存问题
老年代
复制回收算法
线程共享(数据)
线程私有(指令)
Eden
GC
复制回收算法浪费一半内存,但是速度快
From Survivor
JMM中称为永久代,1.8版本以后叫元空间
操作数栈
虚拟机栈
大小:2/3
内存泄漏(堆)
15次没有被回收掉
局部变量表
?return
栈帧1
-Xms初始大小-Xmx最大小
Full GC
1/10
栈溢出
对象
检测死循环
类信息
指向多态
Minor GC
栈帧2
大小:1/3
新生代的8/10
堆
标记清除或标记整理
0 条评论
下一页