JVM对象分配及垃圾回收机制

2021-08-13  本文已影响0人  Dalvik_

1、JVM中对象的创建过程。

JVM中对象的创建过程

2、对象的内存布局及访问方式。

对象的内存布局

Mark Word
对象填充:填充对象数据满足8字节的整数

3、可达性分析算法与垃圾回收算法。

JVM java中,都是自动化的垃圾回收


判断对象的存活

GC Roots =====> Garbage Collection RootSet
静态变量
线程栈变量
常量池
JNI指针
内部引用:class对象、异常对象Exception、类加载器
同步锁:synchronized对象
内部对象:JMXBean
临时对象:跨代引用

1.class new出的所有对象都被回收掉了
2.类加载器也需要被回收掉
3.类 Java.lang.class对象
4.任何地方没有被引用,并且无法通过反射调用这个类的方法
5.参数控制 -Xnoclassgc 启动时禁止类的垃圾回收

4、分代回收理论及对象的分配策略。

几乎所有的对象都在堆中进行分配

大对象直接进入老年代的条件:
1.垃圾回收器 Serial ParNew
2.-XX:PretenureSizeThreshold=4m 大于这个

5.垃圾回收算法

Appel式的复制回收算法
Appel式回收
提高空间利用率和空间分配担保


复制回收算法
上一篇 下一篇

猜你喜欢

热点阅读