虚拟机,就是一台虚拟的计算机,它是一款软件,用来执行一系列虚拟计算机指令。虚拟机大体可以分为如下:
(1)系统虚拟机: Visual Box ,VMware等
(2)程序虚拟机: java虚拟机等
在java虚拟机中执行的指令为java字节码指令。现在被大规模部署的是Hotspot虚拟机。在整个java应用中都要遵循
(1)java 语言规范: java 语法、词法、支持数据类型、变量类型等,目的是告诉开发人员"java代码应该如何编写"
(2)java虚拟机规范: 其运行的java字节码未必就是java语言编写的,像Groovy、Scala等语言生成的java字节码都可以 由java虚拟机执行。
java虚拟机规范的主要内容如下:
(1)定义了虚拟机的内部结构
(2)定义了虚拟机执行的字节码类型和功能
(3)定义了Class文件的结构
(4)定义了类的装载、连接和初始化
java体系如下:
(1)java 程序设计语言
(2)各种硬件平台上的java虚拟机
(3)Class文件格式
(4)Java API类库
(5)来自商业机构和开源社区的第三方Java类库
HotSpot VM目录结构: