我正在做一些阅读,发现当 GC 以“停止和复制”策略或任何其他策略发生时,程序执行会正确停止以进行有效的 GC。这给我带来了一个问题,当垃圾收集发生时GC停止程序执行而无法控制时,如何确保java应用程序的性能?
假设我们有几个线程在运行,其中一个线程正在处理一个非常关键的性能 Activity ,这需要毫秒级的精度,那一刻我可以依靠我的 Java 应用程序,如果在如此关键的时间调用 GC 会发生什么,是吗?不影响性能,有什么方法可以确保在代码中的特定时间不调用 GC?
最佳答案
您有多种选择
虽然并非所有库都设计为低 GC,但您仍然可以使用它们,前提是它们不经常被调用。对于关键路径库,您希望它们是低垃圾。这不仅减少了暂停时间,而且有时将暂停之间的代码速度提高了 2-5 倍。
关于java - 在垃圾回收发生时没有控制的情况下,如何保证java应用的性能?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36507486/