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发布