JAVA 的垃圾回收机制
2018-03-08 11:18
435 查看
JAVA 的垃圾回收机制
* HotSpot虚拟机 *分代收集
在 java 堆区可以被分为 新生代(YoungGen) 和 老年代(OldGen), 新生代又细分为 Eden 空间,From Survivor空间, 和 To Survivor 空间.
java 堆区内存图
垃圾标记: 根搜索算法
以根对象集合作为起始,按照从上至下的方式搜索被根对象集合所连接的目标对象是否可达, 不可达说明目标对象已经死亡.将其标记为垃圾对象
区域化分代式: G1(Garbage-Frist)收集器
将全堆扫描,改为堆内的块扫描.初始标记:
标记 Root-Region
根区域扫描:
扫描 Root-Region 中引用的老年代的一些 Region 块(不会执行新生代内存回收,程序hang住)
并发标记:
找出整个 java 堆区中的存活对象(交叉执行新生代内存回收)
再次标记:
整个 java 堆区中存活对象标记(程序hang住)
清除:
计算活跃对象,并完全释放一些自由的Region块(程序hang住),然后处理
Remembered Set(程序hang住), 并发重置一些空闲Region块,并放回至空闲列表.
拷贝:
将存活的对象,复制到未使用过的Region块中.(程序hang住)
相关文章推荐
- Java 垃圾回收机制整理
- Java的垃圾回收机制问题
- Java中内存泄露及垃圾回收机制
- Java的垃圾回收机制详解和调优大全
- java学习笔记4_垃圾回收机制
- Java垃圾回收机制_你不知道的GC_转深度好文
- Java 垃圾回收机制 (GC) 二
- Java性能优化之JVM GC(垃圾回收机制)
- java垃圾回收机制
- Java成长笔记-----垃圾回收机制
- Java的垃圾回收机制
- java的垃圾回收机制
- java中的gc垃圾回收机制
- 成为JavaGC专家Part II — 如何监控Java垃圾回收机制
- Java垃圾回收机制-转载
- Java垃圾回收机制
- 全面分析Java的垃圾回收机制
- Java垃圾回收机制分析
- Java中的垃圾回收机制
- 也谈 java 的垃圾回收机制(一)