我阅读了几篇文章,理解如下(如果我有误,请纠正和/或编辑问题):
Java堆像这样划分:
年轻代:创建的对象放在这里,这一部分通常使用廉价的垃圾回收进行回收
老年代:在年轻代的垃圾回收中幸存下来的对象放在这里,这个区域的垃圾回收不那么频繁,并使用更耗费CPU的过程/算法(我相信它被称为“标记-扫描”)
编辑:正如另一个用户所述,PermGen不是称为heap
的区域的一部分
- PermGen:这个区域填充了你的应用程序类元数据和许多其他不依赖于应用程序使用情况的内容。
所以,知道了这些...为什么我的PermGen空间在应用程序负载较重时会增长呢?根据我之前所说,这个空间不应该随着应用程序负载的增加而逐渐填满,但是正如我在开头所说的,我可能对某些假设有误。
实际上,如果PermGen空间正在增长,是否有一种垃圾回收或重置它的方法?