一、jvm的分类和特点
1.Sun Classic Vm
第一款商用的虚拟机,只能使用纯解释器的方式来执行java代码。已经过时了。
2.Exact Vm
1)Exact的全称是Exact Memory Management 准确式内存管理(虚拟机可以知道内存中某个位置的数据是什么内存的)。
2)编译器和解释器混合工作以及两级即时编译器。
3)只在Solaris平台发布。还没在windows即其他平台上发布,就被HotSpotVm取代。
3.HotSpot Vm
1)其实是由一家小公司开发的,后台被sun公司收购了。
2)继承了1.2款虚拟机的优点外,它还增加了热点代码探测技术等其他
3)应用最多!
4.KVM
1)kilobyte简单,轻量,高度可移植
2)在手机平台运行(嵌入式领域)
5.JRockit
1)1-4都是sun公司的虚拟机,而JRockit是BEA公司研发的。不过在08年被Oracle收购,后来sun公司也被Oracle公司收购了。
2)世界上最快的java虚拟机。
3)专注服务器端应用。
4)优势:垃圾收集器;MissionControl服务套件
6.J9
1)IBM公司研发了。它最开始的名字不叫J9,叫IBM Technology for Java virtual Machine ----IT4j
2)类似于HotSpot,他不仅可以用于服务器端,还可以用于桌面应用,嵌入式;它开发是为了IBM产品的各种java平台
7.Dalvik
1)它不是java虚拟机,因为它没有遵循java虚拟机的规范,它是不能直接执行编译后的class文件的
2)它使用的是寄存器架构,而不是常用的栈架构。
3)它所执行的是Dex—dalvik Executalbe文件,这个文件可以通过class文件转化而来。
4)用于移动端----安卓
8.Microsoft JVM
1)一看就知道是微软开发的,也是为了自家软件与java兼容
2)后来被sun公司搞了,现在没了。。。。。
9.Azul VM 和 Liquid VM
(两款高性能JVM,碾压HotSpot)
1)像LiquidVM不需要操作系统的支持,它本身就是一个操作系统。我们总是说java慢,是因为运行java代码时,我们要先进过java虚拟机,再通过虚拟机调操作系统,多了一步。
10.TaobaoVM
1)淘宝根据Hotspot进行深度定制的的虚拟机
2)对硬件的依赖性够,牺牲了兼容性。
完