DCEVM 如何修补 JVM?

Nff*_*ff3 2 java jvm hotswap dcevm hotswapagent

DCEVM 如何给 JVM 打补丁,使其既可以在正常模式下也可以在XXaltjvm模式下启动?它对普通人有libjvm.so/jvm.dll/libjvm.dylib什么作用?

从安装 DCEVM

apa*_*gin 5

DCEVM 不修补原始 JVM。
它安装了不同版本的libjvm.sounder$JDK_HOME/lib/dcevm

-XXaltjvm开箱即用的常规 Java 启动器支持选项。指定后,启动器会libjvm.so在备用目录中查找:

  • 如果-XXaltjvmvalue 以 开头/,则将其视为替代 JVM 的绝对路径;
  • 否则,该目录是相对于 JDK 主目录的: $JDK_HOME/lib/<altjvm>

  • 我对这个问题也很感兴趣。出于好奇,您是否知道如果现有 JVM 带有调试符号,是否可以对其进行修补(因此理论上我们可以替换可执行文件中的 C/C++ 函数,因为我们知道它们所在的位置并且知道其版本) JVM)?要做到这一点有多难?有些功能从一个 Java 版本到另一个版本并没有太大变化...... (2认同)