Java 字节码生成
Java bytecode generation
作为我的毕业作品,我正在编写自己的小编程语言并编译成 java 字节码,并且在最后一部分 - 字节码生成方面遇到了麻烦。我已经为它搜索了一些库,甚至使用 ASM 库编写了一些代码,但我对这个库非常不满意,因为基于 event/visitor(我不知道如何正确调用它)的架构让我伤脑筋.那么我需要什么:
- 我只需要生成 Java 字节码。因为我看的很多对比都说要变形,所以不需要。
- 我需要了解字节码和 JVM 的工作原理。
- 性能没什么大不了的。应该是可以接受的。
那么,什么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 代码通常比对字节代码执行相同的操作更容易。
作为我的毕业作品,我正在编写自己的小编程语言并编译成 java 字节码,并且在最后一部分 - 字节码生成方面遇到了麻烦。我已经为它搜索了一些库,甚至使用 ASM 库编写了一些代码,但我对这个库非常不满意,因为基于 event/visitor(我不知道如何正确调用它)的架构让我伤脑筋.那么我需要什么:
- 我只需要生成 Java 字节码。因为我看的很多对比都说要变形,所以不需要。
- 我需要了解字节码和 JVM 的工作原理。
- 性能没什么大不了的。应该是可以接受的。
那么,什么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 代码通常比对字节代码执行相同的操作更容易。