日期:2014-05-20  浏览次数:20666 次

我想问下关于内存堆的问题~~
1. Java堆内存是操作系统分配给JVM的内存的一部分。

2. 当我们创建对象时,它们存储在Java堆内存中。

3. 为了便于垃圾回收,Java堆空间分成三个区域,分别叫作New Generation, Old Generation或叫作Tenured Generation,还有Perm Space。

以上是Java堆内存中的10个要点中的三个。
我想问下有没有更详细解释这3个要点的?

------解决方案--------------------
探讨

引用:

引用:
英语有点差。。看不太懂。。。


http://www.iteye.com/topic/1117824
这里有中文版

请问下哦是不是下载他那个JAVAse7
再问下10个要点不是javaSE6的嘛?还是都有的。。新手不太懂~~

------解决方案--------------------
Java具有可移植性的原因是有JVM,JVM能够虚拟出一台目标机,所有字节码都是在虚拟出的目标机上运行的。而堆属于JVM内存的一部分,主要用于存放类、方法、常变量等。
一般new出来的对象都放在堆中,因为难以预先估计对象大小,在堆中可以进行动态分配。
堆中分为这三代,是为了垃圾收集,在节省空间的同时也不会产生循环垃圾。可以参考垃圾收集的分代垃圾收集机制。