1.2 Java和JVM简史
- Java 1.0(1996年)
这是 Java 的第一个公开发行版,只包含 212 个类,分别放在八个包中。Java 平台始终关注向后兼容性,所以使用 Java 1.0 编写的代码,不用修改或者重新编译,依旧能在最新的 Java 8 中运行。
- Java 1.1(1997年)
这一版 Java 平台是原来的两倍多,并且引入了“内部类”和第一版反射 API。
- Java 1.2(1998年)
这是 Java 一个非常重要的版本。这一版 Java 平台是原来的三倍,而且首次出现了集合 API(包括 Set、Map 和 List)。1.2 版增加的新功能过多,Sun 不得不把平台重新命名为“Java 2 Platform”。这里的“Java 2”是商标,而不是真实的版本号。
- Java 1.3(2000年)
这其实是个维护版本,主要用于修正缺陷,解决稳定性,并提升性能。这一版还引入了 HotSpot Java 虚拟机,这个虚拟机现在还在使用(不过有大量的修改和改进)。
- Java 1.4(2002年)
这也是一个重要的版本,增加了一些重要的功能,例如高性能低层 I/O API、处理文本的正则表达式、XML 和 XSLT 库、SSL 支持、日志 API 和加密支持。
- Java 5(2004年)
这一版 Java 更新幅度很大,对核心语言做了很多改动,引入了泛型、枚举类型(enum)、注解、变长参数方法、自动装包和新版 for 循环。改动的量非常大,所以不得不修改主版本号,以新的主版本号发布。这一版包含 3562 个类和接口,分别放在 166 个包中。在增加的内容中,值得一提的有并发编程的实用工具、远程管理框架和类,以及 Java 虚拟机本身的监测程序。
- Java 6(2006年)
这一版也主要是维护和提升性能,引入了编译器 API,扩展了注解的用法和适用范围,还提供了绑定,允许脚本语言和 Java 交互。这一版还对 JVM 和 Swing GUI 技术进行了缺陷修正和改进。
- Java 7(2011年)
这是甲骨文公司接管 Java 后发布的第一个版本,包含语言和平台的多项重要升级。这一版引入了处理资源的 try 语句和 NIO.2 API,让开发者编写的资源和 I/O 处理代码更安全且不易出错。方法句柄 API 是反射 API 的替代品,更简单也更安全,而且打开了动态调用(invokedynamic)的大门(Java 1.0 之后第一种新字节码)。
- Java 8(2014年)
这是最新版 Java,变动的幅度是自 Java 5(甚至可能是自 Java 出现)以来最大的一次。这一版引入的 lambda 表达式有望显著提升开发者的效率;集合 API 也升级了,改用 lambda 实现,为此,Java 的面向对象实现方式也发生了根本性变化。其他重要更新包括:实现运行在 JVM 中的 JavaScript(Nashorn),新的日期和时间支持,以及 Java 配置(用于生成不同版本的 Java,尤其适合部署无界面或服务器应用)。
