1995年5月23日,Java语言诞生日(原名Oak)
1 JDK1.0
发布时间:1996-1-23
代号:Oak(橡树)
新特性及更新修改:
(1)Sun Classic VM(虚拟机)
(2)Applet(java小应用程序、早期应用最广的java程序)
(3)AWT(java图形设计)
2 JDK1.1
发布时间:1997-2-19
代号:?
新特性及更新修改:
(1)JAR(jar包)
(2)JDBC(Java DataBase Connectivity连接数据库)
(3)JavaBeans(java规范)
(4)RMI(Java remote method’s invocation/Java远程方法调用)
(5)Inner Class(内部类)
(6)Reflection(反射)
(7)对AWT(java.awt)事件模型进行大范围的改进
3 JDK1.2
发布时间:1998-12-4
代号:Playground(运动场)
新特性及更新修改:
(1)J2SE(Java SE)、J2EE(Java EE)、J2ME(Java ME)
(2)JIT(即时编译技术)
(3)Java Plug-In(运行插件)
(4)EJB(J2EE的规范)
(5)Java IDL(平台对象请求代理体系结构),可与CORBA协同交互。
(6)Collections(集合)
(7)字符串常量做内存映射
(8)对打包的Java文件进行数字签名
(9)控制授权访问系统资源的策略工具
(10)JDBC中引入可滚动结果集,BLOB,CLOB,批量更新和用户自定义类型
(11)在Applet中添加声音支持
(12)添加只支持内省(Introspection),但不允许在运行时改动的Java反射机制。
(13)新增关键字strictfp(意即strict float point)。
(14)核心类中集成Swing图形API。
4 JDK1.3
发布时间:2000-5-8
代号:Kestrel(美洲红隼)
新特性及更新修改:
(1)数学运算
(2)Timer API(时间)
(3)添加Java Sound API(javax.sound.midi和javax.sound.sampled),提供对语音处理的支持。该平台以前的版本只有有限的音频支持,只能对音频片段进行基本播放。 在此新版本中,Java 2 平台定义了一系列标准类和接口,用于低级音频支持。
(4)CORBA IIOP实现RMI的通信协议
(5)Java 2D新特性
(6)jar文件索引
(7)对Java的各个方面都做了大量优化和增强.
(8)内置HotSpot JVM。
(9)改进RMI(Java remote method’s invocation)对CORBA的兼容性。
(10)JNDI(Java Naming and Directory Interface/Java命名和目录接口)已经进入核心库(以前只能通过扩展方式使用)。
(11)添加JPDA(Java Platform Debugger Architecture/Java平台调试器体系),为调试Java代码提供了统一的API。
(12)新增复合代理类(Synthetic proxy classes)
5 JDK1.4
发布时间:2002-2-13
代号:Merlin(灰背隼)
新特性及更新修改:
(1)新增模仿Perl正则表达式的Java正则表达式。
(2)新增Exception Chaining(异常链)机制,允许一个异常封装最初的低级异常。
(3)新增NIO(java.nio),意即非阻塞式的I/O(non-blocking I/O)。由于NIO是不同于以往I/O的一种新的API,因此也被称作New I/O。
(4)新增日志Longging API(java.util.logging)。
(5)XML解析器
(6)XSLT转换器
(7)XML处理
(8)Java打印服务
(9)内置Java Web Start软件,使你可以方便地从Web下载和运行Java应用程序。
(10)JDBC 3.0(jdbc高级)
(11)断言(Assert,junit 框架使用基于此)
(12)新增配置参数Preferences API(java.util.prefs),它允许应用程序存储并获取用户和系统首选项和配置数据。
(13)添加对网络协议IPv6的支持。
(14)新增图像Imgae I/O API,用于支持类似于JPEG、PNG等格式的图像的读写操作。
(15)新增assert关键字。
(16)集成安全加密等扩展。
6 JDK1.5
发布时间:2004-9-30
代号:Tiger(老虎)
新特性及更新修改:
(1)自动装箱、自动拆箱
(2)泛型支持
(3)元数据(注解)
(4)Introspector(内省)
(5)enum(枚举)
(6)静态引入
(7)可变长参数(Varargs)
(8)foreach(高级虚幻)
(9)JMM(内存模型)
(10)concurrent(并发包)
7 JDK6
发布时间:2006-12-11
代号:Mustang(野马)
新特性及更新修改:
(1)命名方式变更
(2)脚本语言
(3)编译API和微型HTTP服务器API
(4)锁与同步
(5)垃圾收集
(6)类加载
(7)JDBC 4.0(jdbc高级)
(8)Java Compiler (Java™ 编程语言编译器的接口)
(9)可插拔注解
(10)Native PKI(公钥基础设)
(11)Java GSS (通用安全服务)
(12)Kerberos ( 一种安全认证的系统)
(13)LDAP (LDAP )
(14)Web Services (web服务即xml传输)
8 JDK7
发布时间:2011-7-28
代号:Dolphin(海豚)
新特性及更新修改:
(1)switch语句块中允许以字符串作为分支条件
(2)创建泛型对象时自动类型推断
(3)新增try-with-resources语句(一个语句块中捕获多种异常)
(4)null值得自动处理
(5)数值类型可以用二进制字符串表示
(6)引入Java NIO.2开发包
(7)动态语言支持
(8)安全的加减乘除
(9)Map集合支持并发请求
(10)单个catch子句同时捕获多种异常类型
(11)在数值类型的字面值中使用下划线分隔符联接
(12)改进使用带泛型可变参数的方法时的编译器警告和错误提示机制
9 JDK8
发布时间:2014-3-18
代号:Spider(蜘蛛)
新特性及更新修改:
(1)引入Lambda 表达式
(2)管道和流
(3)引入了新的Date-Time API(JSR 310)来改进时间、日期的处理。
(4)默认的方法(接口可以编写默认的方法)
(5)类型注解
(6)Nashorn javascript引擎(允许java运行特定JavaScript代码)
(7)Optional class (处理nullPointException)
(8)并行累加器
(9)并行操作
(10)内存错误移除
(11)TLS SNI 服务器名称标识(Server Name Identification)
(12)函数式编程
(13)重复注解
10 JDK9
发布时间:2017-9-22
代号:?
新特性及更新修改:
(1)模块化
(2)接口支持编写私有方法
(3)Javadoc改进(支持符合html5 标准输出)
(4)Stream API 增强(简化调用、操作、提供常用便捷的方法)
(5)image API增强(支持多分辨率解析)
(6)多版本jar支持(在不同环境运行不同jar包)
(7)改进弃用注解使用@Deprecated
(8)内置轻量级json API
(9)弃用Applet API
(10)Deprecation的弃用
11 JDK10
发布时间:2018-3-21
代号:?
新特性及更新修改:
12 JDK11
发布时间:2018-9-25
代号:?
新特性及更新修改:
(1)基于嵌套的访问控制
(2)标准 HTTP Client 升级
(3)Epsilon:低开销垃圾回收器
(4)简化启动单个源代码文件的方法
(5)用于 Lambda 参数的局部变量语法
(6)低开销的 Heap Profiling
(7)支持 TLS 1.3 协议
(8)ZGC(可伸缩低延迟垃圾收集器)
(9)飞行记录器
(10)动态类文件常量