我正在做一些阅读,发现当GC发生时,"停止并复制"策略或任何其他程序执行被合理地停止以具有有效的GC。这就引出了一个问题,当垃圾收集发生时,如果GC在程序执行时停止执行垃圾收集时,如何确保java应用程序的性能?
假设我们有多个线程正在运行,其中一个线程正在处理一个性能非常关键的活动,这需要几毫秒的精度,那时我可以依赖我的Java应用程序,如果在这样的关键时间调用GC会发生什么,它是否会影响性能,是否有办法确保在代码中的特定时间不调用GC?
答案 0 :(得分:2)
你有很多选择
虽然并非所有库都设计为低GC,但如果不经常调用它们,您仍然可以使用它们。对于关键路径库,您希望它们是低垃圾。这不仅可以缩短暂停时间,而且可以在暂停之间加速代码,有时甚至可以达到2-5倍。