JDK发展历史以及版本特性 && Tomcat与JDK版本对应关系

1. JDK发展历史以及版本特性

1995年5月23 java(原名Oak)诞生,并且在SunWorld大会上正式发表了java1.0版本。

1996年1月23 JDK1.0发布Java语言有了第一个正式版本的运行环境。JDK1.0提供了一个纯解释执行的Java虚拟机的实现(Sun class VM)。JDK1.0的代表技术:JVM,Applet,AWT.

1997年2月19日,JDK1.1,新特性:JAR文件格式、JDBC、JavaBean、RMI、内部类(Inner class)、反射(Reflection)

1998年12月4日,JDK1.2,新特性:基础体系拆分:J2SE(面向桌面应用程序开发)、J2EE(面向企业级应用开发程序开发)、J2ME(面向手机等移动终端开发),技术:EJB、Java Plug-in、JavaIDL 、Swing、JIT(Just In Time)编译器.

2000年5月8日JDK1.3:使用CORBA IIOP实现RMI的通信协议,改进Java2D,添加JavaSound类库。

2002年2月13日JDK1.4 ,新特性:正则表达式,异常链,NIO,日志类,XML解析器,XLST转换器。

2004年9月30日,JDK1.5,新特性:自动装箱、泛型、动态注解、枚举、可变长参数、遍历循环。

2006年12月11日,JDK1.6,新特性:提供动态语言支持、提供编译API和卫星HTTP服务器API,改进JVM的锁,同步垃圾回收,类加载。

2009年2月19日JDK1.7,新特性:提供GI收集器、加强对非Java语言的调用支持(JSR-292,升级类加载架构。

2014 年 3 月 18 日 JDK1.8新特性:Lambda 表达式、方法引用、默认方法、新工具、Stream API、Date Time API 、Optional 类、Nashorn, JavaScript 引擎。 
介绍一下JDK1.8的特性:

Lambda 表达式 − Lambda允许把函数作为一个方法的参数(函数作为参数传递进方法中。 
方法引用 − 方法引用提供了非常有用的语法,可以直接引用已有Java类或对象(实例)的方法或构造器。与lambda联合使用,方法引用可以使语言的构造更紧凑简洁,减少冗余代码。 
默认方法 − 默认方法就是一个在接口里面有了一个实现的方法。 
新工具 − 新的编译工具,如:Nashorn引擎 jjs、 类依赖分析器jdeps。 
**Stream AP**I −新添加的Stream API(java.util.stream) 把真正的函数式编程风格引入到Java中。 
Date Time API − 加强对日期与时间的处理。 
Optional 类 − Optional 类已经成为 Java 8 类库的一部分,用来解决空指针异常。 
Nashorn, JavaScript 引擎 − Java 8提供了一个新的Nashorn javascript引擎,它允许我们在JVM上运行特定的javascript应用。

参考链接:https://blog.csdn.net/Phoenix_smf/article/details/79709592

JDK Version 发布时间 代号 备注
1 1996/1/23 Oak(橡树) 初代版本,伟大的一个里程碑,但是是纯解释运行,使用外挂JIT,性能比较差,运行速度慢
1.1 1997/2/19 Sparkler(宝石) JDBC、支持内部类、RMI、反射。。。
1.2 1998/12/8 Playground(操场) 集合框架、JIT。。。
1.3 2000/5/8 Kestrel(红隼) 对Java的各个方面都做了大量优化和增强
1.4 2004/2/6 Merlin(隼) xml处理、支持IPV6、支持正则表达式
5 2004/9/30 Tiger(老虎) 泛型、增强for、自动拆装箱、可变参数、静态导入、注解
6 2006/12/11 Mustang(野马) 支持脚本语言、JDBC4.0
7 2011/7/28 Dolphin(海豚) switc支持String类型、泛型推断、Nio.2开发包、数值类型可以用二进制字符串表示
8 2014/3/18 Spider(蜘蛛) Lambda 表达式、接口默认方法、Stream API 、新的日期API、Nashorn引擎 jjs
9 2017/9/22 Modularity(模块化) 模块系统、HTTP 2 客户端、多版本兼容 JAR 包、私有接口方法、改进的 Stream API、响应式流(Reactive Streams) API:
10 2018/3/21   var 局部变量类型推断、统一的垃圾回收接口
11 2018/9/25   HTTP客户端(标准)、无操作垃圾收集器。首个LTS版本
12 2019/3/19   新增一个名为 Shenandoah 的垃圾回收器、扩展switch语句的功能、改进 G1 垃圾回收器

 

2. Tomcat与JDK版本对应关系

表格来自:http://tomcat.apache.org/whichversion.html

Servlet Spec JSP Spec EL Spec WebSocket Spec JASPIC Spec Apache Tomcat Version Latest Released Version Supported Java Versions
4 2.3 3 1.1 1.1 9.0.x 9.0.6 8 and later
3.1 2.3 3 1.1 1.1 8.5.x 8.5.29 7 and later
3.1 2.3 3 1.1 N/A 8.0.x (superseded) 8.0.50 (superseded) 7 and later
3 2.2 2.2 1.1 N/A 7.0.x 7.0.85 6 and later(7 and later for WebSocket)
2.5 2.1 2.1 N/A N/A 6.0.x (archived) 6.0.53 (archived) 5 and later
2.4 2 N/A N/A N/A 5.5.x (archived) 5.5.36 (archived) 1.4 and later
2.3 1.2 N/A N/A N/A 4.1.x (archived) 4.1.40 (archived) 1.3 and later
2.2 1.1 N/A N/A N/A 3.3.x (archived) 3.3.2 (archived) 1.1 and later

参考链接:https://blog.csdn.net/dongdong2980/article/details/79608615

 

3. JDK各版的发布时间表

 

Java发展的时间表。 (版本号 名称 中文名 发布日期)

  JDK 1.1.4 Sparkler 宝石 1997-09-12

  JDK 1.1.5 Pumpkin 南瓜 1997-12-13

  JDK 1.1.6 Abigail 阿比盖尔--女子名 1998-04-24

  JDK 1.1.7 Brutus 布鲁图--古罗马政治家和将军 1998-09-28

  JDK 1.1.8 Chelsea 切尔西--城市名 1999-04-08

  J2SE 1.2 Playground 运动场 1998-12-04

  J2SE 1.2.1 none 无 1999-03-30

  J2SE 1.2.2 Cricket 蟋蟀 1999-07-08

  J2SE 1.3 Kestrel 美洲红隼 2000-05-08

  J2SE 1.3.1 Ladybird 瓢虫 2001-05-17

  J2SE 1.4.0 Merlin 灰背隼 2002-02-13

  J2SE 1.4.1 grasshopper 蚱蜢 2002-09-16

  J2SE 1.4.2 Mantis 螳螂 2003-06-26

  J2SE 5.0 (1.5.0) Tiger 老虎 2004-10

  J2SE 6.0 (Beta) Mustang 野马 2006-04

  从这个表中我们可以看出一个非常有意思的现象,就是JDK的每一个版本号都使用一个开发代号表示(就是表中的中文名)。而且从JDK1.2.2开始,主要版本(如1.3,1.4,5.0)都是以鸟类或哺乳动物来命名的. 而它们的bug修正版本(如1.2.2,1.3.1,1.4.2)都是以昆虫命名的。

 

1995年5月23日,Java语言诞生 
1996年1月,第一个JDK-JDK1.0诞生 
1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入JAVA技术 
1996年9月,约8.3万个网页应用了JAVA技术来制作 
1997年2月18日,JDK1.1发布 
1997年4月2日,JavaOne会议召开,参与者逾一万人,创当时全球同类会议规模之纪录 
1997年9月,JavaDeveloperConnection社区成员超过十万 
1998年2月,JDK1.1被下载超过2,000,000次 
1998年12月8日,JAVA2企业平台J2EE发布 
1999年6月,SUN公司发布Java的三个版本:标准版、企业版和微型版(J2SE、J2EE、J2ME) 
2000年5月8日,JDK1.3发布 
2000年5月29日,JDK1.4发布 
2001年6月5日,NOKIA宣布,到2003年将出售1亿部支持Java的手机 
2001年9月24日,J2EE1.3发布 
2002年2月26日,J2SE1.4发布,自此Java的计算能力有了大幅提升。 
2004年9月30日18:00PM,J2SE1.5发布,是Java语言的发展史上的又一里程碑事件。为了表示这个版本的重要性,J2SE1.5更名为J2SE5.0 
2005年6月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经更名以取消其中的数字“2”:J2EE更名为Java EE, J2SE更名为Java SE,J2ME更名为Java ME。 
2006年11月13日,SUN公司宣布Java全线采纳GNU General Public License Version 2,从而公开了Java的源代码。

参考链接:https://dasheng.iteye.com/blog/727156

 

你可能感兴趣的:(JAVA)