JDK发展史详解

  • 1. 起源
  • 2. Java诞生
  • 3. JDK1.0
  • 4. JDK1.1
  • 5. JDK1.2
  • 6. JDK1.3
  • 7. JDK1.4
  • 8. JDK1.5
  • 9. JDK6
  • 10. JDK7
  • 11. JDK8
  • 12. JDK9
  • 13. JDK10
  • 14. JDK11
  • ✔️ 一图总结


1. 起源

1991年,SUN公司开始着手“GREEN”项目,此项目旨在通过软件去控制电器产品的运行。而由于原本打算使用的C++语言应用在此项目中实现较复杂,于是由James Gosling 主导的项目组内工程师们转而设计开发了一个新的平台-OAK(橡树,据说名称来源于办公室外边的一颗橡树)。



java rgb 图片 java相关图片_java

图1 Java起源



2. Java诞生

1995年05月,基于 HotJava 浏览器的成功(91到95年之间发生了一些插曲,Java最初发展并不是一帆风顺的,感兴趣的朋友可以自行了解),SUN公司将Oak(橡树平台)改名为Java,并在SunWorld会议上正式发布了java语言,提出了“Write once,Run anywhere"(一次编译,处处运行,说的是Java通过JVM虚拟机跨平台的特性)的宣传概念。

3. JDK1.0

1996年01月,jdk1.0发布。Java语言拥有了第一个正式版本的运行环境。新技术如下:
· JVM
· Applet
· AWT



java rgb 图片 java相关图片_java_02

图2 JVM实现可移植性的原理



4. JDK1.1

1997年02月,创下当时同类会议参与者最多的记录的JavaOne会议召开,jdk1.1发布。 新技术如下:
· JDBC(Java database connectivity )
· 内部类支持(inner class)
· Java Bean
· RMI(remote method invocation)
· 反射(仅用于内省)



java rgb 图片 java相关图片_源代码管理_03

图3 反射机制的相关API



5. JDK1.2

1998年12月,jdk1.2发布。此次发布将基础体系拆分为:J2SE 桌面应用开发 、J2EE 企业级应用开发、J2ME 移动终端开发。新技术如下:
· Collections集合框架
· JIT即时编译器(just in time)
· Java Plug-in(Java插件)
· JFC(Java foundation classes),包括swing1.0、Java 2D类库



java rgb 图片 java相关图片_java_04

图4 JIT即时编译工作流程



此外,还包括:对字符串常量做内存映射,对打包的Java文件做数字签名,提供控制授权访问系统资源的策略工具,在JDBC中引入可滚动结果集、BLOB、批量更新和用户自定义类型,在Applet中添加声音支持等。
1999年4月,HotSpot虚拟机发布。

6. JDK1.3

2000年05月,jdk1.3发布。此时 Servlet 规范开始流行,而伴随着互联网的兴起,这项技术同其他 MVC 框架一起成为了 Web1.0时代的网红。新技术如下:
· JavaSound API
· jar文件索引

此外,还对Java的各方面做了一些优化和加强:优化Java类库如数学运算等,新的Timer API。

7. JDK1.4

2002年02月,jdk1.4发布。新技术如下:
· 正则表达式
· 异常链
· NIO
· 日志类 Logging API
· XML解析器
· XSLT转换器
· 参数API
· 断言机制

此外,还包括:引入了Java打印服务、Java web start、JDBC 3.0 API、对IPv6的支持、Image I/O slot machine API等。



java rgb 图片 java相关图片_java rgb 图片_05

图5 NIO的相关API



8. JDK1.5

❗️❗️ 2004年09月,jdk1.5发布。此版本对 Java 语言做出了一些重大的改进,为了表示该版本的重要性, 还将版本直接升级为 5.0。新技术如下:
· 泛型
· 增强循环foreach
· 自动装箱与拆箱
· 类型安全的枚举
· 元注解
· 可变参数

9. JDK6

2006年12月,jdk6发布并且SUN宣布, 将 Java 语言免费开源,并且建立了 OpenJDK 组织对这些源码进行独立管理。新技术如下:
· 脚本语言支持
· 编译 Java Compiler API
· JDBC 4.0 API
· Web Services 微型HTTP服务器 API

10. JDK7

由于诸多因素,SUN公司于09年4月被Oracle公司收购了,受此影响新版本的开发工作也停滞了一段时间。直到2009年02月,jdk7发布。新的版本主要是一些技术优化处理,包括:
泛型对象类型推断、安全的加减乘除运算、map集合支持并发请求、try-with-resource异常处理、在一个语句块捕获多种异常、switch 添加 String 类型判断支持、数字字面量的改进等。

11. JDK8

❗️❗️ 2014年03月,近 20 年中变更最大的版本jdk8发布。这个版本中的 “函数式” 编程实现,可以容易的表述并发执行的计算。新技术如下:
· lambda表达式
· 方法引用
· Stream 流式编程 API
· Optional
· 函数式接口
· 接口定义增强
· 日期与时间的API增强
· JavaScript引擎



java rgb 图片 java相关图片_jvm_06

图6 JDK5到JDK10的发展过程



12. JDK9

2017年09月,jdk9发布。也是同年8月,Oracle将JavaEE移交给了开源组织eclipse基金会。新技术如下:
· Jigsaw 模块系统
· 轻量级JSON API
· jShell交互工具

13. JDK10

2018年03月,jdk10发布。优化如下:
· 局部变量类型推断
· GC改进和内存管理

14. JDK11

2018年09月,jdk11发布。优化如下:
· ZGC垃圾收集器
· 方法扩展(String、集合类、Stream、File)

✔️ 一图总结



java rgb 图片 java相关图片_java_07

图7 一张图总结JDK发展历史



注:只列举了每次版本升级优化中的部分相对主要的一些技术或优化。