我正在为想要更好地了解 Sun JVM 的初学者寻找一些有用的书籍
6 回答
不特定于 Sun Java 虚拟机实现,但 Sun的 Java 虚拟机规范可能是一本有趣的读物。
你可以试试这个。
Ivor Horton 的 Java 2 SDK 1.5 入门版
Bill Venners 的“Java 虚拟机内部”
Java 虚拟机 (JVM) 是一组计算机软件程序和数据结构,它们使用虚拟机模型来执行其他计算机程序和脚本。JVM 使用的模型接受一种通常称为 Java 字节码的计算机中间语言。这种语言在概念上代表了面向堆栈的能力架构的指令集。截至 2006 年,全球估计有 40 亿台启用 JVM 的设备。
Java 虚拟机在 Java 字节码上运行,该字节码通常(但不一定)从 Java 源代码生成;JVM 也可用于实现 Java 以外的编程语言。例如,Ada 源代码可以编译为 Java 字节码,然后可以由 JVM 执行。JVM 也可以由 Sun(Java 的开发者)以外的其他公司发布——使用“Java”商标的 JVM 可以由其他公司开发,只要它们遵守 Sun 发布的 JVM 规范(以及相关的合同义务)。
JVM 是 Java 平台的关键组件。由于 JVM 可用于许多硬件和软件平台,Java 本身既可以是中间件,也可以是一个平台——因此商标是一次编写,随处运行。对所有平台使用相同的字节码允许 Java 被描述为“编译一次,随处运行”,而不是描述跨平台编译语言的“编写一次,随处编译”。JVM 还启用了诸如自动异常处理之类的独特功能,它为独立于源代码的每个软件错误(异常)提供“根本原因”调试信息。
JVM 与一组实现 Java API(应用程序编程接口)的标准类库一起分发。虚拟机和 API 必须相互一致[可疑 – 讨论],因此作为 Java 运行时环境捆绑在一起。
我发现 Brian Goetz 关于JVM的文章在这里非常好