我们都知道 堆内存被分为年轻代 和 年老代 ,默认比例是1:2. 年轻代占1/3.

年轻代 gc使用的算法是 copy算法(速度快,但是会浪费一个survivor内存),年老代使用的是 标记整理算法(速度慢)。基于此,来了解一下年轻代和年老代分配过大 或 过小会有哪些影响。

年轻代过大:

1:会导致生命周期长的对象 长时间在年轻代,在s0和s1之间来回复制,增加复制开销。

2:年轻代过大,那么年老大就会很小,就会频繁出发fullGC. 由于年老代使用的是标记整理算法,本来就会很慢,就导致stw的时间长。而频繁的fullGC 更是会 降低用户体验,常常出现卡顿现象。

年轻代过小:

1:会频繁触发minorGC, 导致一些不常用对象也很快达到进入年老代的年龄(默认15)。这样一来,年老代也会很容易被填满。fullGC的时间会更长

额外话:

大对象直接进入老年代

Minor GC的规则

大对象直接进入老年代

-XX:PretenureSizeThreshold

指定大于该数值的对象直接进入老年代,避免在新生代的Eden和两个Survivor区域来回复制,产生大量内存复制操作。

缺点:只对Serial和ParNew两个新生代收集器有用

年轻代和年老代分配过大 或 过小相关推荐

  1. Jave虚拟机划分的三个代: 年轻代、年老代和持久代

    转载自:点击打开链接 虚拟机中的共划分为三个代: 年轻代(Young Generation).年老代(Old Generation)和持久代(Permanent  Generation).其中持久代主 ...

  2. java年轻代和年老代默认比值_JAVA中的GC以及年轻代,年老代,持久代的认识

    java中我们常常谈论到垃圾回收机制,那么,垃圾回收机制又是什么呢?说到JVM调优,似乎很高大上,那么JVM调的都是那些数据呢?伊甸园区,幸存区,年轻代,年老代,持久代,每个词都熟悉又陌生,似乎很深奥 ...

  3. Java 年轻代、年老代、GC

    一篇关于gc的文章 http://www.cnblogs.com/hnrainll/archive/2013/11/06/3410042.html 自己的笔记: JVM是用c语言写的.一般说的JVM是 ...

  4. 年轻代、年老代和持久代

    年轻代(Young Generation).年老代(Old Generation)和持久代(Permanent  Generation).其中持久代主要存放的是Java类的类信息,与垃圾收集要收集的J ...

  5. 内存管理_分代机制(年轻代、年老代、永久代)

    通用的分代垃圾回收机制 分代垃圾回收机制,是基于这样一个事实,不同的对象的生命周期是不一样的.因此,不同的生命周期的对象可以采用不同的回收算法,便以提高回收效率,我们将对象分为三种状态:年轻代.年老代 ...

  6. 是堆内存分为年轻代和年老代!!!

    1.是堆内存分为年轻代和年老代!!! 2.是堆内存分为年轻代和年老代!!! 3.是堆内存分为年轻代和年老代!!! 4. 1) 在Young Generation中,有一个叫Eden Space的空间, ...

  7. JVM分化回收机制(年轻代、年老代、永久代)

    分代回收机制:JVM将堆内存划分为Eden.Survivor和Tenured/Old空间. (Minor GC )年轻代 :Eden.Survivor.尽可能快的收集生命周期短的对象. 在年轻代中经历 ...

  8. JVM的年轻代、年老代(老年代)和永生代(持久代)【Loadrunner性能调优】

    1.为什么会有年轻代 我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能.你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我 ...

  9. jvm 年轻代、年老代、永久代

    关键字约定 Young generation –>新生代 Tenured / Old Generation –>老年代 Perm Area –>永久代 年轻代: 所有新生成的对象首先 ...

最新文章

  1. POwershell 更改文件权限
  2. Git Gitlab 使用指南
  3. 【Android】自定义listview快速滚动条
  4. 002---tcp/ip五层详解
  5. ACM 网址和一些建议
  6. 透彻解析!字节跳动Android实习面试凉凉经,年薪超过80万!
  7. gggenes绘制多物种基因结构比较
  8. WdatePicker日历控件使用方法(转)
  9. Java并发编程实战笔记—— 并发编程1
  10. c++取临时文件夹_电脑C盘不足?学会删除这5个文件夹,能节省10G空间
  11. eclipse注释中插入当前时间
  12. 从 Bitmap 到布隆过滤器,再到高并发缓存设计策略!
  13. 【珍藏】 2012Android开发热门资料(110个)
  14. Atitit 中间件之道 attilax著 1. 第1章 中间件产生背景及分布式计算环境 2 2. 中间件分类 2 2.1. 通讯,消息,数据存储中间件 3 3. 第3章 COM相关技术 3 4.
  15. RCC BUCK变压器设计
  16. ET5.0 简单了解
  17. edge浏览器被毒霸导航锁定如何解除
  18. 二维码QR 码纠错级别
  19. VC++:菜单的使用总结
  20. 框架里面的标签采集不到怎么办_怎么做微信生态的全数据采集和打通?

热门文章

  1. Unity3D暂停,继续游戏,重新开始,退出,以及 UnityEditor.EditorApplication打包后不会执行
  2. MantisBT简介
  3. java 语言的简介
  4. hihoCoder1044
  5. 中小型网站如何预防DDOS攻击
  6. Python删除字符串中的空格和特殊字符
  7. Uncaught ReferenceError: Mustache is not defined
  8. 支持HEVC/H265 RTMP接收的FFMPEG/FFPLAY WINDOWS版本
  9. 应软”治理大学生上课玩手机现象
  10. 数论--欧几里得和扩展的欧几里得定理