调用 System.gc() 的好习惯
Good practice to call System.gc()
我读了很多关于打电话的坏习惯的文章System.gc()
。
我了解 JVM
不保证会对此调用做出反应。
而且我知道 System.gc()
是 从根本上破坏代码的非常好的指标。
但是,如果我有 Web 后端服务器并且我需要在服务器加载阶段处理许多资源。加载内存后充满垃圾。
而且我知道我的服务器将仅在 Ubuntu 和 Hotspot
JDK1.8
中使用,并且此 JDK
对 System.gc()
做出反应。
在加载之后和为用户打开服务器之前只调用一次 System.gc()
不好吗?
有没有人做同样的事情?
可以打电话给System.gc()
。请务必使用内存分析工具来检查它是否对您的情况有所帮助。
规范无法保证任何结果,因为虚拟机可能刚刚完成了一次 GC。
根本不需要调用。不能保证它会做任何事情,并且可以保证在抛出 OutOfMemoryException
之前执行 GC。如果它确实做了一些事情,它可能会浪费 CPU 时间。
我读了很多关于打电话的坏习惯的文章System.gc()
。
我了解 JVM
不保证会对此调用做出反应。
而且我知道 System.gc()
是 从根本上破坏代码的非常好的指标。
但是,如果我有 Web 后端服务器并且我需要在服务器加载阶段处理许多资源。加载内存后充满垃圾。
而且我知道我的服务器将仅在 Ubuntu 和 Hotspot
JDK1.8
中使用,并且此 JDK
对 System.gc()
做出反应。
在加载之后和为用户打开服务器之前只调用一次 System.gc()
不好吗?
有没有人做同样的事情?
可以打电话给System.gc()
。请务必使用内存分析工具来检查它是否对您的情况有所帮助。
规范无法保证任何结果,因为虚拟机可能刚刚完成了一次 GC。
根本不需要调用。不能保证它会做任何事情,并且可以保证在抛出 OutOfMemoryException
之前执行 GC。如果它确实做了一些事情,它可能会浪费 CPU 时间。