IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> JVM虚拟机的发展历程 -> 正文阅读

[移动开发]JVM虚拟机的发展历程

sun class vm

是java1.0版本发布的第一款商用java虚拟机,其特点是只有解释器,如果需要编译器则需要外挂,但不能同时工作,现在hotspot内置了这个虚拟机。

exact vm

是为了解决上个虚拟机不能同时使用解释器和编译器的问题,它可以知道内存中某个位置的数据是什么类型
具备热点探测,能混合工作的雏形特点,但可惜英雄命短,在solaris 平台短暂使用后,hotspot就凭空出现替换了他。

hotspot vm

是由一家小公司设计的,后来被sun公司收购,jdk1.3的时候就成为了默认虚拟机
绝对的市场占用率,oracle jdk和openjdk都默认使用,服务器端,桌面移动端嵌入式都可使用
主要特点是:
通过计数器找到最具编译的价值代码,触发及时编译或栈上替换
通过编译器与解释器协同工作,在最优化的程序响应时间与最佳执行性能中取得平衡。

bea的JRockit

是三个商用虚拟机之一,主要专注于服务器端,因为不太关注响应时间,所以不包含解释器实现,只靠及时编译器,是最快的jvm。
主要特点是延迟敏感型,能提供 毫秒或微秒级别的响应时间,用于军事指挥,电信网络。
还拥有missionControl服务套件,能以极低的开销来监控、管理、分析生产环境中应用程序的工具。
后来 被oracle收购。

ibm的J9

定位于hotspot比较接近,可很多用途,广泛用于ibm的各种java产品,与自身产品结合得很好,是在自身产品中使用得最快的虚拟机。

kvm和cdc/cldc hotspot

是oracle在javame产品所使用的两个虚拟机,kvm是早期产品, 在更低端的设备上如老人机,智能控制器,传感器有自己的一席之地,而cdc是当年诺基亚塞班系统的游戏平台,如果ios和android二分天下后就没落了。

azul vm

azul systems公司在hotspot基础上改进,与自身的vega系统绑定,软硬件配合的专用虚拟机,高性能java虚拟机的战斗机。

liquid vm

bea公司开发的,也是高性能战斗机类似azul vm,特点是不需要操作系统的支持,本身已经实现了一个操作系统必要功能。目前已经停止了。

apache harmony

是由ibm和intel联合开发的开源jvm,但因为sun坚决不让它获得jcp认证,于是在2011年推移,ibm也转而参与了openjdk的开发,但它的java类库代码被先进了android sdk中了,也算是有所使用。

microsoft jvm

由微软为了能在ie3浏览器中支持java applets而开发的,特点是只能在window平台运行,但后面被sun指控后被微软移除了。

taobaojvm

由alijvm团队发布,基于openjdk开发的指定版本的alibabaJDK,是阿里java体系的基石,主要特点是创新的GCIH实现了off-heap,将生命周期较长的java对象从heap中移到了heap外,并且GC不能管理 GCIH内部的java对象,从而达到降低GC的回收频率和提升GC效率的目的。还有在GCIH内部的对象能实现在多个java虚拟机进程中共享。目前taobao VM已经在淘宝、天猫上线,替换了oracle官方的jvm。

Dalvik VM

由谷歌开发的用于andorid系统,在android2.2提供,特点是没有遵循java虚拟机规范,不能直接执行java的class文件而是dex文件执行效率比较高,架构上是基于寄存器架构,不是jvm的栈架构,在android5.0后支持提前编译。

Grall VM

由oracle开发的虚拟机,号称run programs faster anywhere ,是在hotspot vm基础上增强而成的跨语言全栈虚拟机,可以作为任何语言的平台使用,且支持各种语言的混用。其工作原理是将这些语言的源代码或源码编译后的中间格式通过解释器转换为最能被graal VM接受的中间表示,估计是oracle主推和未来会替代hotspot的虚拟机

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-10-08 11:54:36  更:2021-10-08 11:55:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:25:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码