您好,欢迎访问一九零五行业门户网

认识Java--走进Java和Java虚拟机的发展史

part i: 走进java
第一章 走进java概述
优点:
结构严谨,面向对象的编程语言;
摆脱硬件平台的束缚,实现了“一次编写,到处运行”的理想;
提供相对安全的内存管理和访问机制,避免了绝大部分的内存泄漏和指针越界问题;
实现了热点代码检测和运行时编译及优化;
有一套完善的应用接口程序接口以及无数的第三方类库;
java技术体系
jdk是用于支持java开发的最小环境,包含java程序设计语言、java虚拟机、java api类库三部分; 
jre是支持java程序运行的标准环境,包含java api类库中的java se api 子集和java虚拟机两部分;
按照java技术关注的重点业务领域来划分,java技术体系可分为4个平台:
java card:支持applets(java小程序)运行在小内存设备(如智能卡)上的平台;
java me(micro edition):支持java运行在移动终端上的平台;(今有android sdk)
java se(standard edition):支持面向桌面级应用的java平台;
java ee(enterprise edition):支持使用多层架构的企业级应用(如erp、crm应用)的java平台;
java发展史
jdk 1.0:java虚拟机、applet、awt等;
jdk 1.1:jar文件格式、jdbc、javabeans、rmi、内部类、反射;
jdk 1.2:拆分为j2se/j2ee/j2me、内置jit编译器、一系列collections集合类;
jdk 1.3:jndi服务、使用corba iiop实现rmi通信协议、java 2d改进;
jdk 1.4:正则表达式、异常链、nio、日志类、xml解析器和xslt转换器;
jdk 1.5:自动装箱、泛型、动态注解、枚举、可变参数、遍历循环、改进了java内存模型、提供了java.util.concurrent并发包;
jdk 1.6:提供动态语言支持、提供编译api和微型http服务器api、虚拟机优化(锁与同步、垃圾收集、类加载等);
jdk 1.7:g1收集器、加强对java语言的调用支持、升级类加载架构;
jdk 1.8:lambda表达式、函数式接口等;
java虚拟机发展史sun classic/extract vm:classic vm是第一款商用虚拟机,纯解析器方式来执行java代码,如果要使用jit编译器就必须进行外挂,解析器和编译器不能配合工作,编译器执行效率非常差;exact vm是sun虚拟机团队曾在solaris平台发布的虚拟机,支持两级即时编译器、编译器和解释器混合工作、使用准确内存管理(虚拟机可以知道内存中某个位置的数据具体是什么类型),但很快就被hotspot vm所取代;
sun hotspot vm:sun jdk和openjdk所带的虚拟机,目前使用范围最广;继承了前两款虚拟机的优点,还支持热点代码探测技术(通过计数器找出最具编译价值的代码);2006年sun公司宣布jdk包括hotspot vm开源,在此基础上建立openjdk;
sun mobile-embedded vm/meta-circular vm:一些sun开发的面对移动和嵌入式发布的和实验性质的虚拟机;
bea jrockit/idm j9 vm:jrockit vm曾经号称是世界上最快的java虚拟机,专注于服务器端应用,不包含解析器实现,全部靠即时编译器编译执行;j9 vm定位于hotspot比较接近,主要目的是作为ibm公司各种java产品的执行平台;
azul vm/bea liquid vm:特定硬件平台专有的高性能虚拟机;
apache harmony/google android dalvik vm:apache harmony包含自己的虚拟机和java库,但没有通过tck认证;dalvik vm是android平台的核心组成部分,其并没有遵循java虚拟机规范,不能直接执行class文件,使用的是寄存器架构而不是jvm常见的栈架构;
microsoft jvm及其他:微软曾经是java技术的铁杆支持者,开发过windows下性能最好的java虚拟机,但后来被sun起诉终止其发展;
展望java技术的未来模块化
混合语言:通过特定领域的语言去解决特定领域的问题
多核并行
进一步丰富语法
64位虚拟机
相关推荐:
java 的发展(历史)轨迹和历史变迁
详解java虚拟机概述
以上就是认识java--走进java和java虚拟机的发展史的详细内容。
其它类似信息

推荐信息