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

本文介绍了Java JDK从1.0到1.8的发展历程,详细阐述了JDK1.8的重要特性,包括Lambda表达式、方法引用、默认方法、Stream API等。同时,探讨了Tomcat与不同JDK版本的对应关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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.youkuaiyun.com/Phoenix_smf/article/details/79709592

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

 

2. Tomcat与JDK版本对应关系

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

Servlet SpecJSP SpecEL SpecWebSocket SpecJASPIC SpecApache Tomcat VersionLatest Released VersionSupported Java Versions
42.331.11.19.0.x9.0.68 and later
3.12.331.11.18.5.x8.5.297 and later
3.12.331.1N/A8.0.x (superseded)8.0.50 (superseded)7 and later
32.22.21.1N/A7.0.x7.0.856 and later(7 and later for WebSocket)
2.52.12.1N/AN/A6.0.x (archived)6.0.53 (archived)5 and later
2.42N/AN/AN/A5.5.x (archived)5.5.36 (archived)1.4 and later
2.31.2N/AN/AN/A4.1.x (archived)4.1.40 (archived)1.3 and later
2.21.1N/AN/AN/A3.3.x (archived)3.3.2 (archived)1.1 and later

参考链接:https://blog.youkuaiyun.com/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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值