在 Java 中,堆被划分成两个不同的区域:新生代 ( Young )、老年代 ( Old )。新生代 ( Young ) 又被划分为三个区域:Eden、From Survivor、To Survivor。

这样划分的目的是为了使 JVM 能够更好的管理堆内存中的对象,包括内存的分配以及回收。

堆的内存模型大致为:

从图中可以看出: 堆大小 = 新生代 + 老年代。其中,堆的大小可以通过参数 –Xms、-Xmx 来指定。

默认的,新生代 ( Young ) 与老年代 ( Old ) 的比例的值为 1:2 ( 该值可以通过参数 –XX:NewRatio 来指定 ),即:新生代 ( Young ) = 1/3 的堆空间大小。老年代 ( Old ) = 2/3 的堆空间大小。其中,新生代 ( Young ) 被细分为 Eden 和 两个 Survivor 区域,这两个 Survivor 区域分别被命名为 from 和 to,以示区分。

默认的,Eden : from : to = 8 : 1 : 1 ( 可以通过参数 –XX:SurvivorRatio 来设定 ),即: Eden = 8/10 的新生代空间大小,from = to = 1/10 的新生代空间大小。

JVM 每次只会使用 Eden 和其中的一块 Survivor 区域来为对象服务,所以无论什么时候,总是有一块 Survivor 区域是空闲着的。

因此,新生代实际可用的内存空间为 9/10 ( 即90% )的新生代空间。

java新生代 老年代比例_JVM老年代和新生代的比例相关推荐

  1. Java老年代 full gc_Java虚拟机的Heap监狱(JVM、新生代、Minor GC、老年代、Full GC)...

    转自:码农翻身(微信号:coderising) 在Java虚拟机中,我是一个位高权重的大管家,他们都很怕我,尤其是那些Java 对象,我把他们圈到一个叫做Heap的"监狱"里,严格 ...

  2. minor GC 、 full GC、新生代(young )、老年代(old)的一些理解

    Minor GC Minor GC是俗称,新生代(新生代分为一个 Eden区和两个Survivor区)的垃圾收集叫做 Minor GC. 清除 Eden 和 from ,转到to中.接下来from与t ...

  3. java基础入门传智播客 源码_Java-_2020年版Java零基础视频教程(Java 0基础,Java初学入门)魔鬼讲师老杜出品...

    不会闲聊!!!不会扯淡!!!小UP只会分享与Java相关的学习资源 还记得那年带你Java入门的一声"吼"吗? B站目前播放量已经快到450多万播放量的Java零基础教程的创作者& ...

  4. 天津java_天津java,再不努力我们就老了

    原标题:天津java,再不努力我们就老了 时间都去哪儿了? 游戏玩得眼睛都花了 wang者峡谷一天天 转眼2018就要过完了-- 再不努力我们就老了,没有时间用来浪费了. 不努力的人一定不酷,学jav ...

  5. Java之父都说他老了找工作受阻,我们怎么办?

    Java之父都说他老了找工作受阻,我们怎么办? List item 近日Java之父ames Gosling在Facebook上写道他曾在面试的时候被HR告知,"通常我们不招你这种年龄的程序 ...

  6. java向上造型的优点_老榆木家具适合什么装修风格?老榆木家具有哪些优点

    摘要:精选优质榆木制作,板材厚实,质地硬朗,给人稳重大气质感,表层纹理清晰自然,凸显原木本质,不需要浮夸的设计,以简练的线条征服每一个人.家中有了有老榆木打造的家具,在其上铺上软垫,坐在其中,给人一种 ...

  7. java垃圾回收机制优化_JVM性能优化--Java的垃圾回收机制

    一.Java内存结构 1.Java堆(Java Heap) java堆是java虚拟机所管理的内存中最大的一块,是被所有线程共享的一块内存区域,在虚拟机启动时创建.此内存区域的唯一目的就是存放对象实例 ...

  8. java堆是gc管理_JVM内存管理及GC机制

    一.概述 JavaGC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代码,对内存泄露和 ...

  9. 70年代生人的80年代

    70年代生人的80年代 生于70年代的人,80年代是他们青春期.他们经历的80年代的生活,长于他们的人也同样经历过,但由于年龄的差异,那个年代留给他们的印象更为深刻,他们的记忆也更为清晰. 一.的确良 ...

最新文章

  1. Python 如何在子类派生的新方法中重用父类的功能
  2. python入门之前面内容拾遗
  3. 响应式网格项目动画布局_响应式网格及其实际使用方式:常见的UI布局
  4. Dapper源码学习和源码修改
  5. Alibaba Sentinel规则持久化-推模式-手把手教程【基于Nacos】
  6. API设计原则(觉得太合适,转发做记录)
  7. ASP.net 判断上传文件类型的三种方法
  8. SAP License:修改物料账期
  9. php的基本语法与字符串与增删改查
  10. 【linux】ubuntu更改mysql数据文件路径
  11. 使用正交表高效地设计测试用例
  12. 遗传算法的基本原理与方法(转)
  13. 链家地产改名链家 转型房产O2O
  14. RN android无线调试
  15. 有没有集工作记录、项目时间线于一身的便签软件?
  16. “梧桐杯”中国移动大数据应用创新大赛 - 智慧金融赛道Baseline
  17. 笔记本快捷键(fl980)
  18. android recovery分区内刷镜像,Android手机Recovery模式取证方法研究.pdf
  19. 离线安装tensorboardx_pytorch安装
  20. Tomcat部署静态页面

热门文章

  1. 常在河边湿鞋系列---终于见到真正的Java人了
  2. mBlock机器人组装教程_mbot机器人测评之轻松组装机器人
  3. zemax---视场角设置梯度
  4. 客户关系管理系统CRM的关键功能
  5. 一款三搭_巴黎造型师的气质穿搭,大众色系也能穿出高级感,简单又实用_
  6. 运行.exe文件并获取返回值(使用WinExec和system的区别)
  7. OS_用户层的IO软件@缓冲区@磁盘高速缓存@异步IO
  8. 物理环境与网络通信安全
  9. 2022年全球市场维生素贴片总体规模、主要生产商、主要地区、产品和应用细分研究报告
  10. Python Commpy简介