Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想用有限的java指令创建一个非常简约的虚拟机。我知道如何在 c/c++ 中结合 LLVM 进行操作,但我也想在 java 中尝试它,因为我无法访问 LLVM,我该如何在 java 中进行操作,我该如何模拟这种情况?
如果你想编译成 Java 字节码,那么你可能想要使用像 ASM 这样的库:它是为生成和操作字节码而设计的:
许多 JVM 语言(例如 Clojure、Groovy)使用 ASM 或类似的东西作为底层字节码生成器。
要使用 JVM,您必须在 JVM 工作方式的约束范围内工作,即运行字节码。这意味着您必须生成字节码或编译的 Java 源代码。如果您使用 Java 源选项,您可以生成“指令”,这些指令使用方法调用作为一种非常轻量级(对于开发人员)实现它的方式来实现。