java jvm & gc
2023-05-18 22:49:57 0 举报
java jvm和垃圾回收
作者其他创作
大纲/内容
.class
to区
(1)类加载器引用(ClassLoader)(2)运行时常量池:包含所有常量、字段引用、方法引用、属性(3)字段数据:每个字段的名字、类型(如类的全路径名、类型或接口) 、修饰符(如public、abstract、final)、属性(4)方法数据:每个方法的名字、返回类型、参数类型(按顺序)、修饰符、属性(5)方法代码:每个方法的字节码、操作数栈大小、局部变量大小、局部变量表、异常表和每个异常处理的开始位置、结束位置、代码处理在程序计数器中的偏移地址、被捕获的异常类的常量池索引
堆
=15次
num=0
类加载器classload
num=1
压栈,相当于jvm的任务队栈,最底下为main方法
to(from)
默认younggc15次后进入该区域,大对象或者新生代满了会直接进入,使用标记清除算法+标记压缩算法
对象
执行引擎
jvm调优区域
youngGC
load
store
1m对象或者新生代区域不够
方法
子栈
执行完弹出顺序
压缩
栈stack
class
老年代
新生代
fullGC
变量
清除
压入顺序
.java
read
线程私有
线程B
被清除
开始
第1次GC
assign
计数器
num++
标记
复制
八大基础类型,对象的引用
Eden
本地方法栈native method stack
use
线程共有
write
S1区域
元空间
from区(复制清除)
15次
新生代(youngGC)
线程A
方法区method
程序计数器,记录当前线程执行到哪里
循环复制存活对象
Eden区,对象新生的地方
父栈
JVM原理
主内存
jdk7方法区为永久代jdk8方法区为元空间
S0区域
from(to)
堆heap
收藏
收藏
0 条评论
下一页
为你推荐
查看更多