JVM Knowleadge-垃圾回收GC Roots Tracing
2013-10-07 22:04
218 查看
本文参考了周志明的《深入理解Java虚拟机:JVM高级特性与最佳实践》,这本书写的非常好!极力推荐!》
JVM中对内存进行回收时,需要判断对象是否仍在使用中,可以通过GC Roots Tracing辨别。
定义:
通过一系列名为”GCRoots”的对象作为起始点,从这个节点向下搜索,搜索走过的路径称为ReferenceChain,当一个对象到GCRoots没有任何ReferenceChain相连时,(图论:这个对象不可到达),则证明这个对象不可用。
可以作为GC Root 引用点的是:
JavaStack中的引用的对象。
方法区中静态引用指向的对象。
方法区中常量引用指向的对象。
Native方法中JNI引用的对象。
JVM中对内存进行回收时,需要判断对象是否仍在使用中,可以通过GC Roots Tracing辨别。
定义:
通过一系列名为”GCRoots”的对象作为起始点,从这个节点向下搜索,搜索走过的路径称为ReferenceChain,当一个对象到GCRoots没有任何ReferenceChain相连时,(图论:这个对象不可到达),则证明这个对象不可用。
可以作为GC Root 引用点的是:
JavaStack中的引用的对象。
方法区中静态引用指向的对象。
方法区中常量引用指向的对象。
Native方法中JNI引用的对象。
相关文章推荐
- C++类的使用2学习笔记
- .xml: Invalid file name: must contain only [a-z0-9_.]
- 大话数据结构五:线性表的链式存储结构(双向链表)
- TWU——Life in TWU
- java与数据结构(8)---java实现链队列
- asp.net 重写URL方法和封装好的DLL
- [置顶] 【Git入门之十四】Git GUI
- 什么是:VGA SVGA XGA SXGA
- 数据表合并1
- struts2请求处理流程详解
- ADO.NET+Access: 3,参数 @departmentName 没有默认值
- 网络编程之TCP异步群聊:服务器端代码
- 4-4
- 参考文献中常见的会议论文的出版者和出版地 (
- linux内核奇遇记之md源代码解读之三
- ADO.NET+Access: 2,至少一个参数没有被指定值
- zoj3662(dp)
- 传真AT指令部分(参考)
- 【VC++6.0】getline需要输入2次回车才会结束的BUG修复方法
- 修改RT5370网卡VID/PID