1 / 18
文档名称:

!Java虚拟机简介.pdf

格式:pdf   页数:18页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

!Java虚拟机简介.pdf

上传人:ffy51856fy 2015/6/5 文件大小:0 KB

下载得到文件列表

!Java虚拟机简介.pdf

相关文档

文档介绍

文档介绍:Appendix
Java 虚拟机

Java 技术与 Java 虚拟机
Java 技术与 Java 平台
Java 虚拟机
对比分析
Java 虚拟机的体系结构
执行引擎
本地方法接口
Java 的堆
Java 方法区
寄存器
Java 栈
本地方法栈
Java 虚拟机的运行过程
1 Java 技术与 Java 虚拟机
Java 技术与 Java 平台
说起 Java,人们首先想到的是 Java 编程语言,然而事实上,Java
是一种技术,Java 技术由四方面组成: Java 编程语言、Java 类文件格
式、Java 虚拟机和 Java 应用程序接口(Java API)。它们的关系如下图
所示:

图 1 Java 四个方面的关系
运行期环境(runtime environment) 代表着 Java 平台,开发人员
编写 Java 代码(.java 文件),然后将之编译成字节码(.class 文件)。最
后字节码被装入内存,一旦字节码进入虚拟机,它就会被解释器解释
执行,或者是被即时代码发生器有选择的转换成机器码执行。从上图
也可以看出 Java 平台由 Java 虚拟机和 Java 应用程序接口搭建,Java
语言则是进入这个平台的通道,用 Java 语言编写并编译的程序可以
运行在这个平台上。这个平台的结构如下图所示:
(3)
(2)
(1)
(1) Java machine (2) Java system software (3) Java programming
图 2 Java 平台
在Java平台的结构中, 可以看出,Java虚拟机(JVM) 处在核心的位
置,是程序与底层操作系统和硬件无关的关键。它的下方是移植接口,
移植接口由两部分组成:适配器和Java操作系统, 其中依赖于平台的
部分称为适配器;JVM 通过移植接口在具体的平台和操作系统上实
现;在JVM 的上方是Java的基本类库和扩展类库以及它们的API, 利
用Java API编写的应用程序(application) 和小程序(Java applet) 可以
在任何Java平台上运行而无需考虑底层平台, 就是因为有Java虚拟机
(JVM)实现了程序与操作系统的分离,从而实现了Java 的平台无关
性。
Java 虚拟机
Java 虚拟机(JVM)包含三个层面的意思:
1. 对 JVM 规范的的比较抽象的说明; ---specification
2. 对 JVM 的具体实现; --- VM implementation
3. 在程序运行期间所生成的一个 JVM 实例。--- JVM instance
对 JVM 规范的的抽象说明是一些概念的集合,它们已经在书《The
Java Virtual Machine Specification》(《 Java 虚拟机规范》)中被详细
地描述了;对 JVM 的具体实现要么是软件,要么是软件和硬件的组
合,它已经被许多生产厂商所实现,并存在于多种平台之上;运行 Java
程序的任务由 JVM 的运行期实例单个承担。在本文中我们所讨论的
Java 虚拟机(JVM)主要针对第三种情况而言。JVM 被看成一个想象中
的机器(machine),在实际的计算机上通过软件模拟来实现,有自己想
象中的硬件,如处理器、堆栈、寄存器等,还有自己相应的指令系统。
每个 Java 程序的运行对应于一个 JVM 实例. JVM在它的生存
周期中有一个明确的任务,那就是运行 Java 程序,因此当 Java 程序
启动的时候,就产生 JVM 的一个实例;当程序运行结束的时候,该
实例也跟着消失了。下面我们从 JVM 的体系结构和它的运行过程这
两个方面来对它进行比较深入的研究。
对比分析
如果把 Java 源程序想象成我们的 C++源程序,Java 源程序编译
后生成的字节码就相当于 C++源程序编译后的 80x86 的机器码(二进
制程序文件),JVM 虚拟机相当于 80x86 计算机系统,Java 解释器
相当于 80x86CPU。在 80x86CPU 上运行的是机器码,在 Java 解释
器上运行的是 Java 字节码。
Java 解释器相当于运行 Java 字节码的“CPU”,但该“CPU”不是通
过硬件实现的,而是用软件实现的。Java 解释器实际上就是特定的平
台下的

最近更新