Java虚拟机发展史
来源:互联网 发布:手机淘宝如何退保证金 编辑:程序博客网 时间:2024/06/05 00:31
作者:Javdroider Hong
链接:https://www.zhihu.com/question/29265430/answer/209699247
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
链接:https://www.zhihu.com/question/29265430/answer/209699247
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Java虚拟机发展史
从1996年初Sun公司发布的JDK1.0中所包含的Sun Classic VM到今天,曾经涌现和湮灭过许多经典的虚拟机,接下来让我们一起回顾一些Java虚拟机的发展轨迹。
1、Sun Classic VM 第一款商用Java虚拟机
1996年1月23日,Sun公司发布JDK1.0,Java首次拥有了商用的正式运行环境——Sun Classic VM。
然而这款虚拟机十分缓慢,原因是它不能是解释器和编译器混合工作,也就是要么只使用纯解释器,这样运行时速度会很慢,要么使用纯编译器,这样必须对每一个方法、每一行代码进行编译,编译耗时会很高。“Java语言很慢”的形象就是在这时候在用户心中树立起来的。
2、Exact VM 现代高性能虚拟机的雏形
为了解决Sun Classic VM所面临的各种问题,Sun发布了一台名为Exact VM的虚拟机,这款虚拟机的执行系统,已经具备现代高性能虚拟机的雏形——两级即时编译器、编译器和解释器混合工作模式等,同时Exact VM采用准确式内存管理,即虚拟机可以知道内存某个位置的数据具体是什么类型,即这个位置是一个指向数字123的内存的reference,还是就是数字123,这样在垃圾收集时可以准确判断这些数据是否可用(后面课程会详细解释,这里读者只需了解一下即可),大大提高了垃圾回收的效率。
虽然Exact VM在技术上比Sun Classic VM先进了许多,但是很快,就被更为优秀的HotSpot VM所取代。
3、Sun HotSpot VM JDK默认虚拟机
我们现在上Oracle官网,下载JDK,自带的虚拟机,就是HotSpot。
然而,HotSpot最初并非Sun公司开发的,而是由一家名为“Longview
Technologies”的小公司设计的,甚至这款虚拟机一开始也不是为Java语言开发的,Sun公司注意到了这款虚拟机在JIT编译技术(Just
In Time,即时编译技术)上有许多优秀的理念,在1997年收购了这家公司,获得了HotSpot VM。
HotSpot VM的最大特点,正如其名,就是热点代码探测能力,这项能力,可以通过执行计数器,找出最具有编译价值的代码,然后通知JIT编译器进行编译,通过编译器和解释器的协同合作,在最优程序响应时间和最佳执行性能中取得平衡。
在2008年和2009年,oracle分别收购了BEA和Sun,这样Oracle就同时拥有了两款优秀的Java虚拟机:JRockit VM和HotSpot VM,Oracle将这两款虚拟机的优势进行整合,打造出更加优秀的HotSpot.
从1996年初Sun公司发布的JDK1.0中所包含的Sun Classic VM到今天,曾经涌现和湮灭过许多经典的虚拟机,接下来让我们一起回顾一些Java虚拟机的发展轨迹。
1、Sun Classic VM 第一款商用Java虚拟机
1996年1月23日,Sun公司发布JDK1.0,Java首次拥有了商用的正式运行环境——Sun Classic VM。
然而这款虚拟机十分缓慢,原因是它不能是解释器和编译器混合工作,也就是要么只使用纯解释器,这样运行时速度会很慢,要么使用纯编译器,这样必须对每一个方法、每一行代码进行编译,编译耗时会很高。“Java语言很慢”的形象就是在这时候在用户心中树立起来的。
2、Exact VM 现代高性能虚拟机的雏形
为了解决Sun Classic VM所面临的各种问题,Sun发布了一台名为Exact VM的虚拟机,这款虚拟机的执行系统,已经具备现代高性能虚拟机的雏形——两级即时编译器、编译器和解释器混合工作模式等,同时Exact VM采用准确式内存管理,即虚拟机可以知道内存某个位置的数据具体是什么类型,即这个位置是一个指向数字123的内存的reference,还是就是数字123,这样在垃圾收集时可以准确判断这些数据是否可用(后面课程会详细解释,这里读者只需了解一下即可),大大提高了垃圾回收的效率。
虽然Exact VM在技术上比Sun Classic VM先进了许多,但是很快,就被更为优秀的HotSpot VM所取代。
3、Sun HotSpot VM JDK默认虚拟机
我们现在上Oracle官网,下载JDK,自带的虚拟机,就是HotSpot。
然而,HotSpot最初并非Sun公司开发的,而是由一家名为“Longview
Technologies”的小公司设计的,甚至这款虚拟机一开始也不是为Java语言开发的,Sun公司注意到了这款虚拟机在JIT编译技术(Just
In Time,即时编译技术)上有许多优秀的理念,在1997年收购了这家公司,获得了HotSpot VM。
HotSpot VM的最大特点,正如其名,就是热点代码探测能力,这项能力,可以通过执行计数器,找出最具有编译价值的代码,然后通知JIT编译器进行编译,通过编译器和解释器的协同合作,在最优程序响应时间和最佳执行性能中取得平衡。
在2008年和2009年,oracle分别收购了BEA和Sun,这样Oracle就同时拥有了两款优秀的Java虚拟机:JRockit VM和HotSpot VM,Oracle将这两款虚拟机的优势进行整合,打造出更加优秀的HotSpot.
阅读全文
0 0
- Java虚拟机发展史
- Java虚拟机发展史
- 深入理解Java虚拟机:Java发展史
- java语言发展史,虚拟机的安装与配置
- java发展史
- java发展史
- Java 发展史
- Java发展史
- Java发展史
- Java发展史
- Java发展史
- Java发展史
- Java发展史
- java发展史
- Java 发展史
- Java发展史
- Java发展史
- JAVA发展史
- jq:对下拉框select的操作的总结
- Linux常用命令-Shell技巧及其他
- IO流(一)概述
- python学习笔记之011.py
- mysql 如何用一个表的字段填充另一个表
- Java虚拟机发展史
- java书籍
- C++ STL中的map和vector
- poj 3628 Bookshelf 2(01背包)
- mybatis之动态sql(八)
- vijos1067 Warcraft III 守望者的烦恼(矩阵倍增)
- ScrollView反弹效果 仿小米私密短信效果
- ArrayAvg
- log4j.properties 的使用详解