我有大量的池化对象,它们将在 JVM 的生命周期中不断地重用。这些对象不应该被垃圾收集。
我想要一种优化 JVM 的方法,以从不尝试(并浪费时间)检查垃圾收集的资格。这一点尤其重要,因为池对象的数量会非常高,并且会导致 CPU 和 GC 压力。
在一段时间内,这些大量对象将进入 JVM old-gen,然后是元空间,我想要一种方法来提示/优化 JVM,即使在 Full-GC 期间检查这些大量对象的 GC 资格(导致更长的 jvm pauses) 是浪费时间,永远不要尝试它们。
针对这种情况进行优化的正确方法是什么?
一种选择是使用堆外内存。我可以将这些对象保留在 JVM 堆中以避免堆外复杂性但仍然优化 GC 吗?