Java - 检测垃圾收集器?

Java - instrumenting the Garbage Collector?

是否可以将字节码注入垃圾收集器? 我有预感答案会是 "no",但我似乎无法在网上找到任何相关信息。

不,这是不可能的。 JVM的垃圾收集器是用C实现的。

您可以通过下载 OpenJDK 源代码、修改它并构建它来检测 GC。

无法将字节码注入 GC。字节码和GC是两个相关的领域,但不在一个层次。 Bytecode 是一种高级语言,而 VM(例如 IBM J9 和 Hotspot)的 GC 则处于较低级别,并且主要在 C/C++/ 语言中实现。字节码解释通常通过 JNI 调用转换为本机代码执行。

对象内联是一种运行时优化,它的定义不止一种。与Christian的工作类似,我也做了很多object inlining,这与Christian对Hotspot的优化不同。你可以看看https://dl.acm.org/citation.cfm?id=3141874

由于运行时优化和 GC 是 VM 中的两个关键主题,研究人员通常会弄清楚正在进行的优化与其他测量之间的影响。这可能是您提出问题的动机,也是 Christan 作品中内联的对象。