解释一下,用Java运行生成的字节码?

jum*_*oel 6 java compiler-construction interpreter jvm bytecode

我正在用Java编写一个带有REPL的玩具解释器.我想从语言生成字节码并运行它,而不是解释AST并运行它.

由于我的Java有点生疏,是否可以在JVM上动态运行生成的字节码?

ska*_*man 7

您可以使用java.lang.Classloader.defineClass(),它将字节码转换为Class对象.你可以在生成的Class对象上调用newInstance(),然后离开.