虚拟机分为程序虚拟机和系统虚拟机
定义
- JVM java虚拟机是Java运行的基础
- JVM可以看作一个抽象的计算机
- java虚拟机和java并无必然联系,它直接与特定的二进制文件格式class关联。
- JVM有自己的指令集,有运行时的内存管理
规范
- 官方给出整个框架的的设定和约定
- 不同的JDK版本有不同的JVM规范
- 官方文档
产品
- Classic VM
- HotSpot(Oracle 和 OpenJDK默认)
- JRockit
- J9(IBM)
- Google Android Dalvik VM
- KVM,CDC,CLDC(嵌入式)
发展史
- 1996年一月JDK1.0
- 1997年JDK2.0
- 1998年JDK1.2
- 2000年JDK1.3
- 2002年JDK1.4
- 2004年JDK5
- 2006年JDK6 javaEE6,javaSE6,JDK开源,由OpenJDK进行维护,虚拟机是HotSpot
- 2008年JRockit
- 2009年Oracle JRockit和HotSpot合并
- 2011年JDK7垃圾回收器
- 2014年JDK8 JEP(JDK enhancement proposals) 定义和管理JDK,Lambda表达式
- 2017 JDK9
- 2018.3 JDK10
- 2018.9 JDK11
JDK版本参考网站
Oracle官方网站
OpenJDK官网
JVM规范
java新特性资源
Java的信息网站