了解Java虚拟机(一)
Java虚拟机
众所周知,Java语言由最大的特点就是平台无关性,简单说就是不受操作系统所限制,编写一次,在任何官方支持的操作系统中都可以运行,这也是Java收欢迎的原因之一,从表面来看,程序员不用关心Java怎么做到在任何操作系统中都可以运行,但是涉及到调优,原理的东西,就要关注平台无关性的正真支持者—-JVM(Java Virtual Machine)
从图中可以看出,和操作系统交互的是JVM,java等语言只是可以在JVM平台上;而且JVM不止支持Java一种语言
Java虚拟机的发展
sun公司制定了Java语言规范和JVM规范,任何组织或个人都可以开发属于自己的java虚拟机,在Java虚拟机的发展史中,出现了很多优秀的虚拟机,下面,来介绍以下他们.
1.SUN Classic VM
这是JDK1.0中包含的虚拟机,也是世界上第一款商用的java虚拟机
2.SUN HotSpot VM
是SUN JDK 和openJDK中带的虚拟机,也是目前世界上使用范围最广的Java虚拟机,但它并不是Sun公司所开发,而是由Longview Technologies开发,SUN公司在1997年收购了此公司,从而得到了HotSpot VM.
3.BEA JRockit/IBM J9 VM
BEA JRockit是2002年从Appeal virtual Machine公司收购的虚拟机
JDK1.8之后的虚拟机
2008和2009年Oracle分别收购了BEA公司和SUN公司,这样Oracle公司同事拥有两款优秀的虚拟机,现在Oracle已经将JRockit的优秀组件整合到了HotSpot上,优劣互补.
除了以上几款虚拟机,还有很多优秀Java虚拟机,在这里就不详细介绍,有兴趣的童鞋可以去了解