最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
java应用开发之JVM运行时内存分析
时间:2022-06-29 00:53:39 编辑:袖梨 来源:一聚教程网
本篇文章小编给大家分享一下java应用开发之JVM运行时内存分析,文章介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
1、JVM的运行时内存也叫JVM堆
从GC的角度可以将JVM分为新生代,老年代,永久代。其中新生代默认占1/3的堆内存空间,老年代默认占2/3内存空间,永久代占非常少的堆内存空间方式。
而新生代分为Eden,SurvivorFrom,SurvivorTo区,Eden默认占8/10新生代区域空间,SurviorFrom和SurviorTo则占1/10.
2、JVM新创建的对象
JVM新创建的对象,除了大对象外都会放在新生代中,由于JVM会频繁创建对象,所以新生代会频繁出发MinorGC进行垃圾回收。
3、新生代详解
1.Java新创建的对象先放在Eden区,如是大对象则分配到老年区。
2.Eden区内存空间不足时则触发GC对新生代进行一次垃圾回收
3.SurviorTo保存上一次MinorGC的幸存者
4.SuviorFrom将上一次MinorGC作为这一次的扫描对象
4、老年代详解
老年代则不会频繁出发MajorGC,当MinorGC过后仍然出现老年代空间不足,则会触发MajorGC进行垃圾回收。MajorGC采用的是标记清除算法。因为要扫描老年代所有对象,所以耗时较长。
5、永久代
指的是内存永久保存区域,主要存放Class和Meta(元数据)。
相关文章
- 无期迷途主线前瞻兑换码是什么 无期迷途主线前瞻直播兑换码介绍 11-22
- 《潜行者2:切尔诺贝利之心》神出鬼没成就攻略分享 11-22
- 《潜行者2:切尔诺贝利之心》赶尽杀绝成就攻略分享 11-22
- 《潜行者2:切尔诺贝利之心》探测器升级方法介绍 11-22
- 《潜行者2:切尔诺贝利之心》负重控制攻略分享 11-22
- 《潜行者2:切尔诺贝利之心》背包机制特点介绍 11-22