作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个slotted java系统,每2秒运行一次代码,每次运行的时间不到100毫秒。我想避免在 100 毫秒运行期间运行垃圾收集,但在系统空闲的剩余 1.9 秒内运行它。目前,垃圾收集可能会在这 100 毫秒内运行,并增加大约 100 毫秒,这在我的情况下是 Not Acceptable 。
程序占用内存约2G,在这100ms内可能会创建很多小对象。我还在多核系统(4 核及更多)上运行它。
最佳答案
这看起来像是 calling System.gc() is useful 时的少数情况。不能保证它有帮助,但肯定值得一试。
您也可以尝试我最近提出的hack。这有点复杂,并且可能会适得其反。
sum += new byte[123456].hashCode()
那样)ReferenceQueue<PhantomReference>
),但不能保证它会在 GC 后立即运行runtime.getFreeMemory
,但谁知道它是否可靠工作?-XX:+UnlockDiagnosticVMOptions -XX:+PrintGC
从外部观看正如我所说,这只是在没有合理的解决方案有效的情况下进行的黑客攻击。
关于java - 时隙系统中的垃圾收集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19897464/
我是一名优秀的程序员,十分优秀!