Mar*_*lar -1 java performance garbage-collection jvm command-line-arguments
我已经阅读了一些有关Java垃圾收集的知识,但是我找不到在代码中处理垃圾收集的“最佳实践”。我应该将每个变量都设置为null
使用后,还是仅使用默认的垃圾收集器更高效,更高效?还是在这种情况下必须通过命令行参数配置垃圾收集器?
谢谢你的建议!
不,JVM为您做到了。这就是为什么它是具有自动内存管理功能的语言。如果需要,由于性能问题,可以致电:
Runtime r = Runtime.getRuntime();
r.gc();
Run Code Online (Sandbox Code Playgroud)
但是并不能保证垃圾收集器会删除未引用的对象。这是对JVM的建议。只有知道自己在做什么。风险自负。
您可以做的是选择一个适合您需求的垃圾收集器实现。例如,如果您不想回收任何内存,出于测试目的,您可以通过添加标志来选择epsilonXX:+UseEpsilonGC
。