深入理解java虚拟机一之走进Java

Java技术体系

Java程序设计语言、Java虚拟机、Java API类库统称为JDK 
Java API类库中Java SE API子集和Java虚拟机统称为JRE

Java发展史

1991年4月 Java语言的前身-Oak语言启动 
1995年5月 Oak改名为Java并发布1.0版本 Write Once,Run Anywhere 
1996年1月 JDK 1.0版本发布 提供的Java虚拟机实现(Sun Classic VM) 、Applet、AWT 
1997年2月 JDK 1.1版本发布 提供了JAR文件格式、JDBC、JavaBeans、RMI 
1998年12月 JDK1.2版本发布 Java拆分如下三个方向,虚拟机添加HotSpot VMExact VM 
Java ME 支持Java程序运行在移动终端的平台 
Java SE 支持面向桌面级应用的Java平台 
Java EE 支持使用多层架构的企业应用的Java平台
 
2000年5月 JDK 1.3版本发布 默认虚拟机改为HotSpot VM 
2002年2月 JDK 1.4版本发布 提供正则表达式、异常链、NIO、XML解析器和XSLT转换器等 
2004年9月 JDK 1.5版本发布 提供了自动拆箱、泛型、动态注解、枚举、可变长参数、遍历循环(foreach)等语法特性,提供了java.util.concurrent并发包等,改进了Java内存模型 
2006年12月 JDK 1.6版本发布 提供动态语言支持、提供编译API和微型HTTP服务器API等,对Java虚拟机内部做了大量改进 
2009年2月 JDK 1.7版本发布 提供新的G1收集器、加强对非Java语言调用支持、升级类加载架构 
2009年4月 Oracle公司宣布以74亿美元收购Sun公司

Java虚拟机发展史

Sun Classic / Exact VM
  • Sun Classic 是世界第一款商用Java虚拟机,这款虚拟机只能以纯解释器方式执行代码,不能与编译器配合工作,因此执行效率与传统C/C++程序有很大差距;
  • 为了提升Classic VM的运行效率,在JDK 1.2版本时Sun发布了Exact VM虚拟机,具备两级即使编译器、编译器与解释器混合工作模式以及准确式内存管理。虽然Exact VM比CLassic VM先进不少,但是它只存在了很短的时间就被HotSpot VM取代
Sun HotSpot VM

HotSpot VM是Sun在1997年收购Longview Technologies公司从而获得的,它既继承了Sun之前两款虚拟机的优点,也有许多自己新的优势,比如热点代码探测技术。

BEA JRockit / IBM J9 VM
  • JRockit VM曾号称“世界上速度最快的Java虚拟机”,BEA将其发展为专门为服务器硬件和服务端应用场景高度优化的虚拟机,不太关注程序启动速度,不包含解析器实现。
  • J9 VM是由IBM Ottawa实验室一个名为SmallTalk的虚拟机扩展而来,是一款设计上从服务器端到桌面应用再到嵌入式都全面考虑的多用途虚拟机
Azul VM / BEA Liquid VM
  • Azul VM是Auzl Systems公司在HotSpot基础上大量改进,运行于专有硬件Vega系统上的Java虚拟机
  • Liquid VM即是现在的JRockit VE,是BEA开发运行在自家Hypervisor系统上的JRockit VM的虚拟化版本
其它VM
上一篇:使用grunt构建seajs项目


下一篇:JAVA数组的定义方式