JVM 的结构

本文定义的是一个抽象的机器,而不是具体的 JVM 的实现。

实现一台 JVM,只需要正确读取 class 文件格式,并且能正确执行这些指令所蕴含的操作即可。所有在 JVM 规范之中没有明确描述的实现细节,都不应成为虚拟机设计者发挥创造性的牵绊,设计者可以完全自主决定所有规范中不曾描述的虚拟机内部细节,例如:运行时数据区的内存布局、垃圾收集的算法、JVM 字节码指令进内部优化操作(如使用即时编译器把字节码编译为机器码)。

在本规范之中所有关于 Unicode 的描述,都是基于《The Unicode Standard, Version 6.0.0》,相关资料读者可以在 Unicode 的网站(http://www.unicode.org)中查找到。