【发布时间】:2018-04-03 18:31:24
【问题描述】:
我正在为想要更好地了解 Sun JVM 的初学者寻找一些有用的书籍
【问题讨论】:
-
您是否真的想了解 JVM 的真正工作原理,或者就您作为开发人员而言,运行时环境是如何工作的?
我正在为想要更好地了解 Sun JVM 的初学者寻找一些有用的书籍
【问题讨论】:
不特定于 Sun Java 虚拟机实现,但来自 Sun 的 The Java Virtual Machine Specifications 可能是一个有趣的读物。
【讨论】:
你可以试试这个。
Ivor Horton 的 Java 2 SDK 1.5 入门版
【讨论】:
【讨论】:
Bill Venners 的“Java 虚拟机内部”
【讨论】:
我发现 Brian Goetz 在 JVM 这里的文章非常好
【讨论】:
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 运行时环境捆绑在一起。
【讨论】: