Java 永磁抑制的后果

Java 永磁抑制的后果,java,memory-management,garbage-collection,java-8,Java,Memory Management,Garbage Collection,Java 8,来自热点JVM的。java开发人员应该知道的后果是什么?从您链接的JEP: 将内部字符串和类静态移到Java堆可能会导致内存不足异常或GC数量增加 这是我能想到的主要后果之一。您的应用程序可以尝试加载新类,从而触发GC,甚至获取OOME,因为没有为此类数据保留的显式内存区域。有些应用程序可能能够从OOME恢复,但我不确定在类加载期间抛出OOME时是否正确,尤其是对于考虑PermGen构建的遗留应用程序 另一方面,不必显式地配置PermGen也不错,尤其是在不需要更大部分的情况下。这也可能使在Pe

来自热点JVM的。java开发人员应该知道的后果是什么?

从您链接的JEP:

将内部字符串和类静态移到Java堆可能会导致内存不足异常或GC数量增加

这是我能想到的主要后果之一。您的应用程序可以尝试加载新类,从而触发GC,甚至获取OOME,因为没有为此类数据保留的显式内存区域。有些应用程序可能能够从OOME恢复,但我不确定在类加载期间抛出OOME时是否正确,尤其是对于考虑PermGen构建的遗留应用程序

另一方面,不必显式地配置PermGen也不错,尤其是在不需要更大部分的情况下。这也可能使在PermGen中对数据进行GCG更容易,并降低那些可怕的PermGen空间错误的风险

但是,如果存在内存泄漏,删除永久性存储器可能只会使跟踪它们变得更加困难。如果类由于某种原因无法卸载(比如在较早的jboss版本中),那么阻塞哪个内存部分不会有太大区别。泄漏仍然存在,可能只是在稍后变得明显,因为没有那么严格的限制

这只是我的2美分,我可能完全错了,但这就是我目前能想到的含义