开发者社区> 知识浅谈> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

面试官:说一下jvm里面的survivor区域

简介: 面试官:说一下jvm里面的survivor区域
+关注继续查看

jvm里面的survivor区域

堆内存的区域分为年轻代和老年代,survivor是属于新生代中的划分,新生代中分为eden区和suvivor区,两者的占比为8:2,survivor分为了两个区域,suvivor0和suvivor1,主要是用于eden区内存满的时候新生代垃圾回收的时候把(eden区域和suvivor其中一个区域)没有被回收的对象放到另一个suvivor区域。


为什么需要两个suvivor区域?

因为生存对象不是经过一次回收之后没有被回收就直接到老年代的,是需要经过一定的回收次数之后如果没有被回收,是可以进入到老年代的,所以suvivor分为两个区域,在回收的时候可以记录每个对象经过回收的次数,默认的是当达到15次之后,就晋升到老年代,而不是每次回收都把suvivor的晋升到老年代。

因为新生代使用的是标记复制算法,所以采空出来一个区域用于垃圾回收之后其他的复制到原先空出的区域。虽然标记复制算法有冗余空间但是比较快相比于标记整理来说。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
JVM面试题,面试官放马过来!!
今天给大家分享一下Java中的核心技术JVM。作为一个Java程序员,相比或多或少的都会接触到一些关于Java底层的知识,这些底层知识是非常重要的,相比之下这些知识也是比较难以理解的
45 0
SAP UI5页面动画效果的实现,实际借用了jQuery的库文件
Created by Wang, Jerry, last modified on Nov 02, 2015
34 0
好程序员分享使用JavaScript正则表达式如何去掉双引号
  好程序员分享使用JavaScript正则表达式如何去掉双引号最近接了一个项目,项目需求需要用js正则表达式过滤掉页面文本域中值得双引号,其实解决办法很简单,下面把我写的代码分享给大家,有同样需求的朋友可以参考下。   具体的解决代码如下:
2684 0
+关注
知识浅谈
🍁 作者:知识浅谈,CSDN签约讲师,阿里云社区专家博主,华为云云享专家,热爱分享创作 💒 公众号:知识浅谈 📌 擅长领域:全栈工程师、爬虫、ACM算法 🔥 联系方式vx:zsqtcc
89
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载