JVM整体结构:


JVM发展历程:
初代虚拟机:sun Classic VM
1、java1.0,世界上第一款商用虚拟机,java1.4时完全淘汰
2、只有解释器,没有编译器(后面hotspot使用了JIT编译器)。(解释器和编译器不能同时工作,编译器会接替解释器的工作内容)编译器:对执行率比较高的热点代码进行缓存。
3、hotspot内置了此款虚拟机
热点探测技术的雏形:Exact VM
成熟应用至今:HotSpot VM
当前商业三大虚拟机:
HOTSPOT VM:
1、是一种基于栈的指令集架构(零地址指令方式)(另外一种架构是寄存器架构,代表使用范畴:安卓(Davlik虚拟机)等需要与硬件交互更密切的产品)
2、是目前市面上高性能虚拟机的代表作之一
3、采用解释器与编译器并存的架构。
4、服务器端、桌面端、嵌入式等多领域使用
栈指令集架构特点:跨平台性、指令集小、指令多;执行性能比寄存器架构差。
评:应用场景最广泛,且适配各种平台系统的虚拟机。
JRockit VM:
1、专注于服务器端应用,不包含解析器的实现
2、不关注服务的启动速度,是世界上最快的虚拟机
3、JMC(Jdk MissionControl) 是一组以极低的开销来监控、管理和分析生产环境上的应用程式的工具,主要管理和监控内存泄漏的。(jdk8种hotspot中整合了部分此工具的特性)
评:在财务、军事指挥、电信网络等毫秒级别应用场景适用
IBM J9(IBM Technology for Java Virtual Machine) ->IT4J -> J9 Eclipse Open J9:
1、定位与Hotspot相似,多领域应用
2、应用于IBM的各种JAVA产品,有影响力的三大商用虚拟机之一,号称最快的Java虚拟机(IBM自有产品之上的应用中,稳定且快)
评:IBM自有产品,在自己的生态环境中,应用比较流畅。
网友评论