【014】【JVM中的两个Survivor区】
来源:互联网 发布:欧陆风云4 mac 下载 编辑:程序博客网 时间:2024/05/22 11:41
Java虚拟机学习总结目录
【014】【JVM中的两个Survivor区】
在JVM GC的分代机制中,年轻代中有两个Survivor区,为了便于交换,需要保证其中一个为空,这个容易理解,但是为什么需要两个Survivor区,而且很多网上资料中说在特殊情况下,可以配置为多个,并没有说怎么配置,也没有说是什么特殊情况。
- 和GC的copying算法相关,既然是拷贝,就得有地方做from,有地方做to。
- 在原始的copying收集算法里,空间被分为两半,叫做semispace。空间分配和回收的过程就是把其中一半用作from来分配空间,当from快满或满足别的一些条件时将可到达的对象复制到to,并将from与to逻辑交换的过程。
单纯的copying收集不能很好的应对长时间存活的对象,因为那样的对象每次经历收集的时候都还活着,带来拷贝的开销。出于权衡,HotSpot里目前除G1外都采用相似的方式实现分代式GC,并且在young gen都使用copying收集算法。不过它使用的copying算法是原始算法的变种,留一块较大的区域作为eden,在eden与old gen之间设置semispace来作为缓冲,让“中等寿命”的对象尽量在进入old gen之前被收集掉。这就是HotSpot的survivor spaces。
1 0
- 【014】【JVM中的两个Survivor区】
- jvm中的新生代Eden和survivor区
- jvm中的新生代Eden和survivor区
- jvm中的新生代Eden和survivor区
- JVM 新生代为何需要两个 Survivor 空间?
- JVM 新生代为何需要两个 Survivor 空间?
- JVM的新生代内存中,为什么除了Eden区,还要设置两个Survivor区?
- JVM的Enen区和Survivor区
- 为什么要有l两个Survivor区
- 为什么要设置两个Survivor区
- JVM学习03-内存管理和垃圾回收02(之新生代Eden与两个Survivor区)
- vm中的新生代Eden和survivor区
- JVM内存结构--新生代及新生代里的两个Survivor区(下一轮S0与S1交换角色,如此循环往复)、常见调优参数
- 新生代Eden与两个Survivor区的解释
- 为什么新生代内存需要有两个Survivor区
- 新生代Eden与两个Survivor区的解释
- 为什么新生代内存需要有两个Survivor区
- 为什么新生代内存需要有两个Survivor区
- CodeForces 9C Hexadecimal's Numbers(DFS)
- BZOJ 2028|SHOI 2009|会场预约|平衡树
- wincmd for windows
- Java的String char()[待补充]
- 联合体 union
- 【014】【JVM中的两个Survivor区】
- Qt播放WAV格式音频文件的两种方法
- [BZOJ4518][Sdoi2016]征途(斜率优化dp)
- 练习2————1015
- NYOJ 523 亡命逃窜(三维BFS)
- 浏览器插件之ActiveX开发 资料收集
- 一步步教你安装hadoop
- 算是内心独白吧!
- 分组交换