我已经阅读了很多关于 java 内存管理、垃圾收集等的内容,并且我正在尝试为我的有限内存(小型 ec2 实例上的 1.7g)找到最佳设置我想知道两者之间是否存在直接关联我的代码大小和 permgen 设置。根据太阳:
永久代是特殊的,因为它保存了虚拟机所需的数据来描述在 Java 语言级别上没有等价物的对象。例如,描述类和方法的对象存储在永久代中。
对我来说,这意味着它实际上是在存储我的类 def'ns 等......这是否意味着我的编译代码大小和我应该设置的 permgen 之间存在直接关联?我的整个应用程序大约 40mb,我注意到我们正在使用 256mb permgen。我在想也许我们正在使用可以更好地分配给动态代码(如对象实例等)的内存......