HotSpot VM 内存堆的两个Servivor区
来源:互联网 发布:网络著作权权利有哪些 编辑:程序博客网 时间:2024/06/06 04:29
JVM将堆分成了 二个大区 Young 和 Old 如下图:
而Young 区又分为 Eden、Servivor1、Servivor2, 两个Survivor 区相对地作为为From 和 To 逻辑区域, 当Servivor1作为 From 时 , Servivor2 就作为 To, 反之亦然
如下图:
因此当Eden区满的时候 GC执行,这时会将 Eden 区和 From 区中还被引用的对象会被移到 To区 ,个别大对象和部分From对象在To已满的情况下会被放到Old区,如下图:
GC操作执行完之后 Eden和 From 区将会为空(无引用对象被回收,有引用对象被移到To和Old区) ,并且From 和 To在逻辑上的 概念调换 , From 概念上变成了To,To变成了From(如果Servior1 原来作为 From 区 ,现在Servior1 现在就作为 To 区),GC执行后结果如下图:
HotSpot VM 内存堆的两个Servivor区
原帖地址:http://www.iteye.com/topic/894148
- HotSpot VM 内存堆的两个Servivor区
- HotSpot VM 内存堆的两个Servivor区
- HotSpot VM的生命周期
- HotSpot VM的生命周期
- HotSpot VM GC 的种类
- HotSpot VM GC 的种类
- HotSpot VM GC 的种类
- HotSpot VM GC 的种类
- HotSpot VM GC 的种类
- HotSpot VM GC 的种类
- HotSpot VM GC 的种类
- HotSpot VM GC 的种类
- HotSpot VM GC 的种类
- HotSpot VM GC 的种类
- HotSpot VM GC 的种类
- HotSpot VM GC 的种类
- Java HotSpot VM内存管理白皮书
- GC之--HotSpot VM GC 的种类
- Python的装饰器
- Qt QtDBus compilation
- What happens if I don't retain IBOutlet?
- JAVA线程池的分析和使用 并发
- 成为Java高手的25个学习目标
- HotSpot VM 内存堆的两个Servivor区
- C(GNU) 内嵌汇编
- tiny6410裸机程序之一、led流水灯
- tiny6410裸机程序之二、系统时钟
- tiny6410裸机程序之三、串口通讯
- tiny6410裸机程序之四、链接地址
- tiny6410裸机程序之五、DDR
- 关闭输入法及格式化VBA代码工具
- Linux下查看版本号的命令