我们知道在Java中,完整的GC可以挂起JVM,也可以称为STOP-THE-WORLD。在许多应用程序中,挂起JVM太长时间会导致很多问题。我想知道如何减少GC中STOP-THE-WORLD的时间?减少STOP-THE-WORLD的时间会带来什么样的潜在缺点? (没有考虑没有世界停留行为的JVM)
答案 0 :(得分:2)
有很多方法
我将从内存分析器开始,以减少垃圾和堆的使用,并调整GC。
答案 1 :(得分:0)
如果您的对象长时间存在,您可以尝试使用New I / O包中的DirectBuffers。它们的创建和回收比基于堆的非直接缓冲区的创建和回收更昂贵,因为直接缓冲区是使用特定于操作系统的本机代码进行管理的。这种增加的管理成本使得直接缓冲对于一次性使用或不经常使用的情况来说是不好的选择。
直接缓冲区也不在Java垃圾收集器的范围内。