认识JVM
什么是JVM
JVM是Java Virtual Machine的简称。意为Java虚拟机
同为虚拟机,JVM有什么不同
VMWare或者Visual Box都是使用软件模拟物理CPU的指令集。JVM使用软件模拟Java 字节码的指令集。
JVM的历史
内容来源网络
- 使用最为广泛的JVM为HotSpotHotSpot
- 为Longview Technologies开发 被SUN收购2006年
- Java开源 并建立OpenJDKHotSpot
- 成为Sun JDK和OpenJDK中所带的虚拟机2008年 Oracle收购BEA得到JRockit VM2010年Oracle收购Sun
- 得到HotspotOracle宣布在JDK8时整合JRockit和Hotspot,优势互补
- 在Hotspot基础上,移植JRockit优秀特性
- KVM
- SUN发布
- IOS Android前,广泛用于手机系统
- CDC/CLDC HotSpot
- JRockit
- IBM J9 VM(IBM内部)
- Apache Harmony
- 兼容于JDK 1.5和JDK 1.6的Java程序运行平台与
- Oracle关系恶劣 退出JCP ,Java社区的分裂
- OpenJDK出现后,受到挑战 2011年 退役
- 没有大规模商用经历
JVM规范
- Class文件类型
- 运行时数据
- 帧栈
- 虚拟机的启动
- 虚拟机的指令集