【发布时间】:2012-11-08 00:57:30
【问题描述】:
在 Java JVM 上限制 Permgen 空间大小的目的是什么?为什么不总是将它设置为等于最大堆大小?为什么Java默认为64MB这么少?他们是否试图通过这样做来强迫人们注意到他们代码中的永久问题?
如果我的应用程序使用 85MB 的 permgen,那么将其设置为 96MB 可能是安全的,但如果它只是主堆的一部分,为什么要设置这么小呢?让 JVM 使用堆允许的尽可能多的 PermGen 不是很有效吗?
【问题讨论】:
-
作为一名 Java SE 程序,我在 13 年的 Java 编程中从未达到 PermGen 的限制。很可能就是这种把极限保持在低位的想法。即忘记有些人经常打它。 ;) 注意:在 Java 7 中,字符串字面量池位于堆中,而不是 PermGen。
标签: java heap-memory permgen