Java 字节码生成

Java bytecode generation

作为我的毕业作品,我正在编写自己的小编程语言并编译成 java 字节码,并且在最后一部分 - 字节码生成方面遇到了麻烦。我已经为它搜索了一些库,甚至使用 ASM 库编写了一些代码,但我对这个库非常不满意,因为基于 event/visitor(我不知道如何正确调用它)的架构让我伤脑筋.那么我需要什么:

那么,什么java字节码生成库更适合我的情况呢?

P.S。另外,我想说,我并不完全拒绝 ASM,也许它很好,但在这种情况下我需要一些东西来理解这个架构,因为现在我无法想象如何正确地使用它。

I need understand, how bytecode and JVM works.

是的。这可能是您在使用 ASM 时遇到问题的主要原因。很可能,库文档假设您已经熟悉它。略读 Java 虚拟机规范将使您对字节码的工作原理有一个基本的了解。

我建议您使用更高级别的库,例如 ByteBuddy however, what I do is generate Java code have it compiled at runtime e.g. Java Runtime Compiler

阅读调试 Java 代码通常比对字节代码执行相同的操作更容易。