gpt4 book ai didi

java - 没有垃圾回收的 JVM

转载 作者:太空狗 更新时间:2023-10-29 22:43:45 25 4
gpt4 key购买 nike

我在许多线程中读到,不可能在 Sun 的 JVM 上关闭垃圾收集。但是,出于我们研究项目的目的,我们需要此功能。任何人都可以推荐一个没有垃圾收集或允许关闭它的 JVM 实现吗?谢谢。

最佳答案

I wanted to find a fast way to keep all objects in memory for a simple initial proof of concept.

执行此操作的简单方法是使用大到 GC 永远不需要运行的堆来运行 JVM。将 -Xmx -Xms 选项设置为较大的值,并打开 GC 日志记录以确认 GC 不会运行测试持续时间。

这比修改 JVM 更快、更直接。


(事后看来,这可能行不通。我依稀记得看到过暗示 JVM 并不总是遵守 -Xms 设置的证据,尤其是如果它真的很大。不过,在尝试一些更困难的方法之前,这种方法值得尝试……比如修改 JVM。)

另外,我觉得这整件事对于您实际想要实现的目标来说是不必要的(甚至适得其反)。 GC 不会丢弃对象,除非它们是垃圾。如果它们是垃圾,您将无法使用它们。禁用/否定 GC 的系统的性能并不代表真实应用程序的性能。


更新 - 从 Java 11 开始,您可以更简单地选择使用 Epsilon(无操作)垃圾收集器;看

启动 JVM 时添加以下选项:

-XX:+UnlockExperimentalVMOptions -XX:+UseEpsilonGC

当堆被填满时,不会尝试收集垃圾。相反,Epsilon GC 会终止 JVM。

关于java - 没有垃圾回收的 JVM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2980019/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com