SUN的JVM [HotSpot]SUN、BEA和IBM
这个JVM是大家在开发过程中普遍用的比较多的一个。
关于GC回收,SUN的JVM的GC回收由两个部分组成,一个是频繁GC,一个是Full GC。
BEA的JVM [JRockit]那如何提高编写程序的效率呢?其实答案很简单,就是减少FULL GC的次数,如40多分钟一次FULL GC,更好的话就是加大频繁GC一次的回收量。
如果是计算机专业的人应该还知道,想提高效率的其他方式就是必须学好数据结构、算法分析和编译原理.
Oracle JRockit (原来的 Bea JRockit)电脑软件,系列产品是一个全面的Java运行时解决方案组合。
大量的行业基准测试显示,基本JRockit JVM是世界上最快的JVM。
适合财务前端办公、军事指挥与控制和电信网络的需要
它的JVM算是三种当中比较有特点的JVM,性能最强。而且它对线程和网络都做了大量的优化和技巧的工作。
IBM的JVM [J9VM/Eclipse OpenJ9]它的GC机制,它跟SUN的GC机制有很大不同,其中之一就是没有FULL GC和频繁GC的概念,而且每次GC操作间隔时间较长,回收量也是大小不等,从一次回收几十MB,到有时候一次回收上百MB。其二是使用BEA的JVM启动速度较快。其三参数的设置相对于SUN的设置来说,算是比较简单的(大家可以到网上搜索这方面的资料)。
IBM的J9
- 全称:IBM Technology for Java Virtual Machine,简称IT4J,内部代号:J9
- 市场定位与HotSpot接近,服务器端、桌面应用、嵌入式等多用途VM
- 广泛用于IBM的各种Java产品
- 目前,有影响力的三大商用虚拟机之一,也号称是世界上最快的Java虚拟机
- 2017年左右,IBM发布了开源J9 VM,命名为OpenJ9,交给Eclipse基金会管理,也称为Eclipse OpenJ9
IBM J9直至今天仍旧非常活跃,IBM J9虚拟机的职责分离与模块化做得比HotSpot更优秀,由J9 虚拟机中抽象封装出来的核心组件库(包括垃圾收集器、即时编译器、诊断监控子系统等)就单独构 成了IBM OMR项目,可以在其他语言平台如Ruby、Python中快速组装成相应的功能。从2016年起, IBM逐步将OMR项目和J9虚拟机进行开源,完全开源后便将它们捐献给了Eclipse基金会管理,并重新 命名为Eclipse OMR和OpenJ9[2]。如果为了学习虚拟机技术而去阅读源码,更加模块化的OpenJ9代码 其实是比HotSpot更好的选择。如果为了使用Java虚拟机时多一种选择,那可以通过AdoptOpenJDK来 获得采用OpenJ9搭配上OpenJDK其他类库组成的完整JDK。
总结开发过程中要注意兼容性的问题,听说IBM的JVM现在更新很慢,所以不一定符合新的java标准。
对于一般的应用而言,建议采用SUN的JVM就足够了;对于对性能要求很高的应用而言,建议采用BEA的JVM,如java版的游戏服务器;对于有钱的公司而言,建议采用IBM的JVM,那是一整套解决方案,后期维护方便



