1

在 Sun JVM 中,由类加载器加载的类被放入 permgen 空间,从不 gc'd。(除非类加载器超出范围)我的理解是 JRockit 将相同的数据放在堆上。然后这些数据会被垃圾收集吗?

谢谢。

4

2 回答 2

2

这个问题与分配类的位置无关。问题是类加载器总是保留对其类的引用,这意味着类不能被垃圾收集,除非并且直到它们的类加载器被垃圾收集。

这个问题在 HotSpot 上更为明显,因为 PermGen 内存稀缺且昂贵。

于 2010-04-06T17:57:58.387 回答
0

另一个重要的一点是,PermGen 在 Sun 中经常被耗尽,因此其他 JVM 可能会在另一个不那么有限的空间中分配。

于 2010-04-23T22:02:07.203 回答