java应用开发之JVM运行时内存分析

网友投稿 313 2022-12-07

java应用开发之JVM运行时内存分析

目录1.JVM的运行时内存也叫JVM堆2.JVM新创建的对象3.新生代详解4.老年代详解5.永久代

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.新生代详解

java新创建的对象先放在Eden区,如是大对象则分配到老年区。

Eden区内存空间不足时则触发GC对新生代进行一次垃圾回收

SurviorTo保存上一次MinorGC的幸存者

SuviorFrom将上一次MinorGC作为这一次的扫描对象

4.老年代详解

老年代则不会频繁出发MajorGC,当MinorGC过后仍然出现老年代空间不足,则会触发MajorGC进行垃圾回收。MajorGC采用的是标记清除算法。因为要扫描老http://年代所有对象,所以耗时较长。

5.永久代

指的是内存永久保存区域,主要存放Class和Meta(元数据)。

以上就是java应http://用开发之JVM运行时内存分析的详细内容,更多关于JVM运行时内存的资料请关注我们其它相关文章!

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SpringBoot的HandlerInterceptor中依赖注入为null问题
下一篇:Java中关于字典树的算法实现
相关文章

 发表评论

暂时没有评论,来抢沙发吧~