Java堆内存

Posted hy7873

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java堆内存相关的知识,希望对你有一定的参考价值。

Java堆内存 = 年轻代(Young Generation) + 年老代(Old Generation) + 持久代 (Permanent Generation)

 

1、年轻代

所有新生成的对象都放在年轻代,尽可能快速的收集那些生命周期短的对象。

 

2、年老代

在年轻代经历了N次垃圾回收仍然存在的对象就被放入年老代。

 

3、持久代

存放静态文件,如Java类和方法,有些应用会动态生成和调用一些class,这样可能需要调整持久代的大小。

-XX:MaxPermSize=N

 

注意:在jdk8中持久代已经被移除,类的元数据存储在元空间(meta space)中,直接占用外部内存,不占用堆内存。

以上是关于Java堆内存的主要内容,如果未能解决你的问题,请参考以下文章

[Java]Java的堆内存和栈内存解析--举例进行内存分析

Java堆内存又溢出了!教你一招必杀技

Java虚拟机的内存组成以及堆内存介绍

java中的堆内存和栈内存

Java堆空间Vs栈内存

Java堆内存与栈内存对比