Java 版本变更及新增特性(JDK1至JDK11)

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)动态类文件常量

猜你喜欢

转载自blog.csdn.net/qq_38974638/article/details/113919749