Java垃圾回收时对对象的标记分析
来源:互联网 发布:js隐藏元素 hidden 编辑:程序博客网 时间:2024/05/25 08:14
引用计数法(Java未使用)
给对象添加一个引用计数器,对象被引用加一,引用失效时计数器减一
可达性分析法(Java虚拟中使用的方法)
枚举出根节点,根据根节点向下分析,与根节点有引用关系的视为存活对象,与根节点没有关系则可以回收
java引用类型
强引用-----指程序代码中普遍存在的,类似Object obj = new Object(),只要强引用存在则对象永远不会被回收
软引用-----描述一些有用但还非必须的对象,在系统发生内存溢出前会把这些对象列入回收范围内,SoftReference
弱引用-----描述非必须对象,只能存活到下一次垃圾回收之前,WeakReference
虚引用-----最弱的引用关系,是否存有虚引用关系完全不会对对其生存周期造成影响,PhantomReference
对象的自我拯救
对象调用finallize()方法可以躲过一次GC,在该方法内将this指针指向GC节点,可以在当次GC中避免被标记,但是在下次系统GC时依旧会被标记回收。
GC Root对象包括
- 虚拟机栈中引用的对象(栈帧中的本地变量列表)
- 方法区中静态属性引用的对象
- 方法区中常量引用的对象
- 本地方法栈中JNI引用的对象
0 0
- Java垃圾回收时对对象的标记分析
- java垃圾回收的标记、算法、回收器总结
- 《JVM学习系列》三.HotSpot虚拟机对对象的回收
- java List对对象的属性排序
- Java对对象的4种引用
- Java堆中对对象的管理
- java中对对象的理解
- 对对象的理解
- 全面分析Java的垃圾回收机制
- 全面分析Java的垃圾回收机制
- 全面分析Java的垃圾回收机制
- 全面分析Java的垃圾回收机制
- 全面分析Java的垃圾回收机制
- 全面分析Java的垃圾回收机制
- 全面分析Java的垃圾回收机制
- 全面分析Java的垃圾回收机制
- 全面分析Java的垃圾回收机制
- 全面分析Java的垃圾回收机制
- python进阶9:导入模块
- struct usb_endpoint_descriptor
- html中文乱码怎么改
- [BAPI]创建会计凭证 BAPI_ACC_DOCUMENT_POST
- Crackme 25
- Java垃圾回收时对对象的标记分析
- Handler looper message详解
- 患得患失
- JavaScript JavaScript的数组操作
- 未来最重要的三个能力
- static_cast与dynamic_cast
- 第二章 Spring模块介绍
- 走
- VS Code智能提示功能之Typings