这里和大家分享一下一些基础的JVM虚拟机的发展历史,相信大家都知道现在的java是运行与JVM虚拟机之上的,但是JVM是怎样产生的,它有那些优秀的功能和特性我们就不得而知了,其实最早,java的1.0版本由发布的虚拟机是Class VM虚拟机,只能使用纯解释器的来编译代码,是一个非常古老的虚拟机版本(不能使用编译器直接编译)要想JIT编译器去编译代码就必须使用外挂,如果使用外挂JIT编译,解释器不再工作,因此在3.0中遭到了淘汰(这里的3.0指的是jdk1.3后面都用大的版本号来替代),在jdK2.0的时候推出了,hotspot VM虚拟机,其拥有非常优秀的内存管理技术和热点探测技术。随后在2006年sun公司公布了JDK1.6的源码,产生了openJdk的开源项目,(现在Hotspot虚拟机作为java程序的默认虚拟机),后sun公司被oracle公司收购,同时拥有HotSpot和BEA 公司的Jrookit虚拟机,与hotSpot虚拟机不同之处在于,Jrookit虚拟机更加注重硬件端的性能处理优化问题,同时微软公司也致力于java虚拟机研究,公布了j9.等面向服务端到移动端再到嵌入式系统端的多功能虚拟机,HotSpot同时面向三个方向发布了面向移动用户端的javaME,面向桌面应用(一般是32位windows系统的)javaSE。和面向企业支持多层架构的javaEE.
oracle公司同时坐拥hotspot虚拟机和jrookit虚拟机,为了结合两者优秀的性能,未来的JVM虚拟机将会更加注重模块化(提升各个模块的协作能力),混合编译(实现不同语言,对不同应用层之前的编写,就像使用自己原生的API一样快捷和方便),多核并行的方法(举例apache的handoop集群分析,一个简单易行的并行框架能够实现运行在上千个商用服务器上,同时处理上以TB计数的数据),进一步的语法丰富(如1.5版本中出现的自动装箱,拆箱,1.9版本出现的map,set,list调用of关键字实现添加多个元素等等),以及完成64位虚拟机的兼容(市场64位虚拟机的需求)。这里借鉴了《深入理解JVM虚拟机》有兴趣的小伙伴可以了解一下,一起动手编写自定义的JDK |
|