在最近的一次采访中,我被问到如下问题。
How to add a garbage collector of an older version to a JRE of newer version
无法从互联网上获得正确答案。任何人都可以向我解释这个吗?
提前致谢
答案 0 :(得分:4)
你不能。垃圾收集器是JVM的一部分,无法移动。如果您有两个源代码,可以考虑尝试修补收集器 - 但这可能是一项非常大的任务,而且我对这个问题的可靠性非常谨慎。结果...... JVM的其他位很可能取决于对可用垃圾收集器的假设。
假设这些是同一个虚拟机的不同版本,我希望垃圾收集器只有在大多数情况下可用的垃圾收集器才能退役,所以我不希望你得到它无论如何都要有显着的好处 - 至少在某些非常的特殊情况之外。
(我很高兴这只是一个面试问题,而不是现实生活中的情况。虽然正如Jigar所说,也许他们实际上并没有想过将一个特定的收藏家添加到没有&#39的虚拟机中。无论如何,这似乎是一个非常奇怪的面试问题。)
答案 1 :(得分:4)
可能是面试官正在寻找你可以通过激活特定垃圾收集器的vm标志,例如jre 7,你仍然可以说-XX:-UseSerialGC
使其使用串口gc