了解Sun JVM

4

我正在寻找一些对于想要更好地了解Sun JVM的初学者有用的书籍。


你真的想要理解JVM的工作原理吗?还是说你只关心作为开发人员,运行时环境是如何工作的呢? - Uri
6个回答

4

这段内容与Sun Java虚拟机实现无关,但是可以看看Sun的Java虚拟机规范,可能很有意思。


3
你可以尝试这个。伊沃·霍顿的《Java 2 SDK初学者指南》第5版。


1

0

维基百科 - JVM

Java虚拟机(JVM)是一组计算机软件程序和数据结构,使用虚拟机模型来执行其他计算机程序和脚本。JVM所使用的模型接受一种常被称为Java字节码的计算机中间语言。这种语言在概念上代表了基于堆栈、能力架构的指令集。截至2006年,全球估计有40亿个启用JVM的设备。
Java虚拟机运行在Java字节码上,这通常(但不一定)是从Java源代码生成的;JVM也可以用于实现除Java以外的编程语言。例如,Ada源代码可以编译成Java字节码,然后由JVM执行。除Sun(Java的开发者)之外,其他公司也可以发布JVM——只要它们遵守由Sun发布的JVM规范(以及相关的合同义务),就可以使用“Java”商标的JVM。
JVM是Java平台的关键组成部分。由于JVM可用于许多硬件和软件平台,因此Java既可以作为中间件,也可以作为自己的平台——因此有“一次编写,到处运行”的商标。在所有平台上使用相同的字节码允许Java被描述为“一次编译,到处运行”,而不是描述跨平台编译语言的“一次编写,到处编译”。JVM还使得自动异常处理等独特功能成为可能,该功能为每个软件错误(异常)提供“根本原因”调试信息,与源代码无关。
JVM随附一组标准类库,实现Java API(应用程序编程接口)。虚拟机和API必须保持一致[dubious - discuss],因此作为Java运行时环境捆绑在一起。

Java通常不是“解释性”的 - 它几乎总是即时编译。 - Lawrence Dol
@Monkey - 是的。至少从Java 1.3版本开始支持。 - Yuval Adam
我认为在我的帖子中深入讨论语义并不必要。我觉得那会让他感到困惑。 - Paul Morel
我对Java的了解比较深,不会把JIT编译和解释搞混。 - hhafez

0

我发现Brian Goetz关于JVM的文章非常好


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接