实战Java虚拟机:JVM故障诊断与性能优化(第2版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2.1 理解Java虚拟机的原理

所谓虚拟机,就是一台虚拟的计算机。它是一款软件,用来执行一系列虚拟计算机指令。大体上,虚拟机可以分为系统虚拟机和程序虚拟机。大名鼎鼎的Visual Box、VMware就属于系统虚拟机,它们完全是对物理计算机的仿真,提供了一个可运行完整操作系统的软件平台。程序虚拟机的典型代表就是Java虚拟机,它专门为执行单个计算机程序而设计,在Java虚拟机中执行的指令我们称为Java字节码指令。无论是系统虚拟机还是程序虚拟机,在上面运行的软件都被限制于虚拟机提供的资源中。

图1.1显示了同一个Java程序(Java字节码的集合)通过Java虚拟机运行于各大主流系统平台,该程序以虚拟机为中介,实现了跨平台的特性。

图1.1 在操作系统之上执行的虚拟机程序