虚拟机 (JVM)一种用于计算设备的规范,可用不同的方式(软件或硬件)
加以实现。编译虚拟机的指令集与编译微处理器的指令集非常类似。Java 虚拟
机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储
方法域。
Java 虚拟机(JVM)是可运行 Java 代码的假想计算机。只要根据 JVM 规格描
述将解释器移植到特定的计算机上,就能保证经过编译的任何 Java 代码能够在
该系统上运行。
Java 虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。
Java 虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指
令系统。
一、Java 虚拟机(JVM)概述
1.为什么要使用 Java 虚拟机
Java 语言的一个非常重要的特点就是与平台的无关性。而使用 Java 虚拟
机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需
要编 译成不同的目标代码。而引入 Java 语言虚拟机后,Java 语言在不同平台上
运行时不需要重新编译。Java 语言使用模式
Java 虚拟机屏蔽了与具体平台相
关的信息,使得 Java 语言编译程序只需生成在 Java 虚拟机上运行的目标代码
(字节码),就可以在多种平台上不加修改地运行。Java 虚拟机在执行字节码时,
把字节码解释成具体平台上的机器指令执行。
2.谁需要了解 Java 虚拟机
Java 虚拟机是 Java 语言底层实现的基础,对 Java 语言感兴趣的人都应对
Java 虚拟机有个大概的了解。这有助于理解 Java 语言的一些性质,也有 助于使
用 Java 语言。对于要在特定平台上实现 Java 虚拟机的软件人员,Java 语言的
编译器作者以及要用硬件芯片实现 Java 虚拟机的人来说,则必须 深刻理解 Java
虚拟机的规范。另外,如果你想扩展 Java 语言,或是把其它语言编译成 Java 语
言的字节码,你也需要深入地了解 Java 虚拟机。
3.Java 虚拟机支持的数据类型
Java 虚拟机支持 Java 语言的基本数据类型如下:
byte://1 字节有符号整数的补码
short://2 字节有符号整数的补码
int://4 字节有符号整数的补码
long://8 字节有符号整数的补码
oat://4 字节 IEEE754 单精度浮点数
double://8 字节 IEEE754 双精度浮点数
char://2 字节无符号 Unicode 字符