Java技术体系
从传统意义上来看,Sun官方所定义的Java技术体系包括以下几个组成部分:
- Java程序设计语言
- 各种硬件平台上的Java虚拟机
- Class文件格式
- Java API类库
- 来自商业机构和开源社区的第三方Java类库
JDK:支持Java程序开发的最小环境(Java程序设计语言、Java虚拟机、Java API类库)
JRE:支持Java程序运行的标准环境(Java虚拟机、Java API类库中的Java SE API子集)
Java发展史
- 1996年1月23日,JDK 1.0 发布,Java语言有了第一个正式版本的运行环境
1.0提供了一个纯解释执行的Java虚拟机:Sun Class VM
- 1997年2月19日,JDK1.1发布,Java技术有了一些最基础的支撑点
JDBC、内部类、反射、JavaBeans
- 1998年12月4日,JDK1.2发布,Sun在这个版本把Java技术体系拆分成3个方向:J2EE、J2SE、J2ME
内置JIT编译器(即时编译器),当虚拟机发现某个方法或代码块运行特别频繁时,就会把这些代码认定为“Hot Spot Code”(热点代码),为了提高热点代码的执行效率,在运行时,虚拟机将会把这些代码编译成与本地平台相关的机器码,并进行各层次的优化,完成这项任务的正是JIT编译器。当程序需要迅速启动和执行时,解释器可以首先发挥作用,省去编译的时间,立即执行;当程序运行后,随着时间的推移,编译器逐渐会返回作用,把越来越多的代码编译成本地代码后,可以获取更高的执行效率。解释执行可以节约内存,而编译执行可以提升效率。运行过程中会被即时编译器编译的“热点代码”有两类:被多次调用的方法。被多次调用的循环体。
- 2000年5月8日,JDK1.3发布
HotSpot虚拟机发布时是作为JDK1.2的附加程序提供的,后来他成为了JDK1.3及之后所有版本Sun JDK的默认虚拟机
- 2002年2月13日,JDK1.4发布,是Java真正走向成熟的一个版本
今天,任然有许多主流应用能直接运行在JDK1.4之上(Spring、Hibernate、Struts)。
新技术特性:正则表达式、NIO、日志类、XML解析器
- 2004年9月30号,JDK1.5发布,在Java语法易用性上做了非常大的改进
自动装箱、泛型、动态注解、枚举、可变长参数、遍历循环(foreach),提供了java.util.concurrent并发包
- 2006年12月11日,JDK1.6发布,启用Java SE、 Java EE、 Java ME的命名方式
- 2009年2月19日,JDK1.7发布