解释一些东西,然后用Java运行生成的字节码?

解释一些东西,然后用Java运行生成的字节码?,java,compiler-construction,jvm,interpreter,bytecode,Java,Compiler Construction,Jvm,Interpreter,Bytecode,我正在用Java编写一个带有REPL的玩具解释器。我想从该语言生成字节码并运行它,而不是解释AST并运行它 由于我的Java有点过时,是否可以在JVM上动态运行生成的字节码?您可以使用Java.lang.Classloader.defineClass(),它将字节码转换为类对象。您可以在生成的类对象上调用newInstance(),然后就可以开始了。看看Javassist,它包含一个代码段编译器,允许您将Java代码段编译成字节码,并将它们定义为类中的方法,然后您可以调用它

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


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

您可以使用Java.lang.Classloader.defineClass(),它将字节码转换为类对象。您可以在生成的类对象上调用newInstance(),然后就可以开始了。

看看Javassist,它包含一个代码段编译器,允许您将Java代码段编译成字节码,并将它们定义为类中的方法,然后您可以调用它