【发布时间】:2010-09-26 08:47:05
【问题描述】:
有没有学习JVM字节码指令集的好地方。也许是规范,也许还有一些教程?
我问是因为我想设计一种玩具语言和一个用于生成 JVM 字节码的编译器。
感谢您的知识和谷歌搜索。
【问题讨论】:
有没有学习JVM字节码指令集的好地方。也许是规范,也许还有一些教程?
我问是因为我想设计一种玩具语言和一个用于生成 JVM 字节码的编译器。
感谢您的知识和谷歌搜索。
【问题讨论】:
【讨论】:
也许可以查看Preon's example on how to parse a Java class file。它在 Java 对象模型中具有相当完整的字节码表示。
【讨论】:
该规范的新版本已经发布:
The Java Virtual Machine Specification, Java SE 7 Edition
这一新增内容确实排除了人们可能会或可能不会觉得有用的Java 编程语言概念一章。请参阅 here 了解该规范第二版中的那一章。
【讨论】:
Java Virtual Machine Specification 是一个很好的起点。
参见第 4 章The class File Format。更新涵盖了自第 2 版以来添加的新属性。
【讨论】:
更多“图形”解释,IBM 开发人员工作:Understanding bytecode makes you a better programmer。
【讨论】:
首先,我建议从您的语言生成 Java 代码。
这将使阅读和调试变得更加简单。
【讨论】:
Programming for the Java Virtual Machine 这本书解释了 JVM 指令集以及如何为其编写代码。它还介绍了一个名为 Oolong 的字节码汇编器,我一直无法下载。但是,您可以使用乌龙的前身Jasmin。本质上,你编写一个带有指令的文本文件,Jasmin 会输出一个 .class 文件。这本书出版于 1999 年,但它仍然是对 VM 的良好而温和的介绍。
【讨论】:
这有点专业,但here 是关于如何优化生成的字节码以在 JVM 上运行的在线演示。它是在最近的JVM Languages Summit 会议上提出的。 InfoQ 有来自那次会议的a collection of presentations,这可能对想要在 JVM 上提出一种语言(或查看已经完成的工作)的人有所帮助。
【讨论】: