目录
参考了 java所有版本的(新特性)更新详情 目前更新至2019-1_为什么坚持,想一想当初-CSDN博客
背景
1991年1991年4月,由James Gosling博士领导的绿色计划(Green Project)开始启动
改名
1995-5-23 Oak语言改名为Java,提出 “Write Once,Run Anywhere”的口号。
java 1.0
Sun Classic VM(虚拟机)
Applet(java小应用程序)
AWT(java图形设计)
java 1(JDK1.1 1997-2-19)
JAR(jar包)
JDBC(Java DataBase Connectivity)(连接数据库)
JavaBeans(java规范)
RMI(远程调用)
Inner Class(内部类)
Reflection(反射)
java 2(JDK1.2 1998-12-4)
J2SE(改名为J2SE)
J2EE(改名为J2EE)
J2ME(改名为J2ME)
JIT(即时编译技术)
JavaPlug-In(运行插件)
EJB(J2EE的规范)
JavaIDL(平台对象请求代理体系结构)
Collections(集合)
字符串常量做内存映射
对打包的Java文件进行数字签名
控制授权访问系统资源的策略工具
JDBC中引入可滚动结果集,BLOB,CLOB,批量更新和用户自定义类型
在Applet中添加声音支持
java 3(JDK1.3 2000-5-8)
数学运算
Timer API(时间)
Java Sound API(声音)
CORBA IIOP实现RMI的通信协议
Java 2D新特性
jar文件索引
Java 4(JDK 1.4 2002-2-13)
正则表达式
异常链
NIO(高级流)
Logging (日志功能)
XML解析器
XSLT转换器
XML处理
Java打印服务
Java Web Start
JDBC 3.0(jdbc高级)
断言
Preferences(可以操作系统的高级功能)
IPV6
Imgae I/O(图片流)
java 5(JDK 1.5 2004-9-30)
自动装箱拆箱
泛型
元数据
Introspector(内省)
enum(枚举)
静态引入
可变长参数(Varargs)
foreach(高级虚幻)
JMM(内存模型)
concurrent(并发包)
java 6(JDK6 2006-12-11)
命名方式变更
脚本语言
编译API和微型HTTP服务器API
锁与同步
垃圾收集
类加载
JDBC 4.0(jdbc高级)
Java Compiler (Java™ 编程语言编译器的接口)
可插拔注解
Native PKI(公钥基础设)
Java GSS (通用安全服务)
Kerberos ( 一种安全认证的系统)
LDAP (LDAP )
Web Services (web服务)
java 7(JDK7 2011-7-28)
switch语句块中允许以字符串作为分支条件
创建泛型对象时应用类型推断
try-with-resources(一个语句块中捕获多种异常)
null值得自动处理
数值类型可以用二进制字符串表示
引入Java NIO.2开发包
动态语言支持
安全的加减乘除
Map集合支持并发请求
java 8(JDK8 2014-3-18)
docs/java/new-features/java8-common-new-features.md · SnailClimb/JavaGuide - Gitee.com
0、接口增加default和static方法
1、Lambda表达式与函数式接口
2、改进的类型推断
3、Java类型的注释
4、重复注释
5、方法参数反射
6、TLS 1.1和TLS 1.2默认启用
7、有限的doPrivileged
8、基于密码加密的更强算法
9、JSSE服务器中的SSL / TLS服务器名称指示(SNI)扩展支持
10、支持AEAD算法
11、KeyStore增强功能
12、SHA-224消息摘要
13、对NSA Suite B加密的增强支持
14、对于高熵随机数生成更好的支持
15、新PKIXRevocationChecker类
16、适用于Windows的64位PKCS11
17、Kerberos中的新rcache类型5重放缓存
18、协议转换和约束委派的Kerberos 5
19、默认情况下禁用弱加密
20、GSS-API / Kerberos 5机制的未绑定SASL
21、用于多个主机名的SASL服务
22、JNI桥接到Mac OS X上的本机JGSS
23、在SunJSSE提供程序中支持更强大的临时DH密钥
24、支持JSSE中的密码套件首选项自定义
25、全新的JavaFX(详情请点击这里)
26、java工具的操作增强
27、Unicode增强功能,包括对Unicode 6.2.0的支持
28、采用Unicode CLDR数据和java.locale.providers系统属性
29、新日历和区域设置API
30、引入新的Date Time API
31、Nashorn JavaScript引擎
32、并行阵列排序
33、标准编码和解码Base64
34、无符号算术支持
35、新的并发
36、Java XML技术增强功能
37、虚拟机操作增强
38、增加Stream包
39、增加Optional
解决 NPE(java.lang.NullPointerException
)问题
java 9(JDK9 2017-9-22)
新特性
Java平台模块化
工具的改变
jShell
添加更多诊断命令
多版本JAR文件
删除JVM TI hprof代理
删除jhat工具
验证JVM命令行标志参数
编译旧版本平台版本
jlink
安全性的改变
数据传输层安全性(DTLS)
TLS应用层协议协商扩展
用于TLS的OCSP装订
利用GHASH和RSA的CPU指令
基于DRBG的SecureRandom实现
禁用SHA-1证书
默认创建PKCS12密匙库
SHA-3哈希算法
部署的改变
弃用java插件
增强的java控制面板
模块化java应用程序打包
弃用Applet API
java语言的改变
铣削Coin项目
javadoc的改变
简化doclet API
HTML5 javadoc
javadoc 搜索
模块系统
JVM的改变
编译器控制
分段代码缓存
语言定义对象模型的动态链接
JVM调优的改变
提高G1可用性,确定性和性能
统一JVM日志记录
删除在jdk8中不推荐的GC组合
使G1成为默认的收集器
统一GC记录
弃用并发标记扫描(CMS)垃圾收集器
删除在jdk8中不推荐的GC组合
核心库的改变
process API更新
可变手柄
缩小字符串
平台日志记录API和服务
更多并发更新
XML目录
更便利的集合工厂方法
增强的方法句柄
Deprecation的弃用
旋转等待提示
过滤传入的序列化数据
堆栈 API
将选定的Xerces2.11.0更新合并到JAXP中
Nashorn的改变
Nashorn的Parser API
在Nashorn中实现选定的ECMAScript 6功能
客户端技术的改变
多分辨率图像
为模块化准备的javaFX UI控件和CSS API
BeanInfo注释
TIFF图像I / O
WIndows和Linux上的HiDPI Graphics
特定于平台的桌面功能
在Linux上启用GTK3
国际化的改变
UUnicode 8.0
默认启用CLDR区域设置数据
UFT-8属性文件
java 10(JDK10 2018-7-17)
局部变量的类型推断 var关键字
GC改进和内存管理 并行全垃圾回收器 G1
垃圾回收器接口
线程-局部变量管控
合并 JDK 多个代码仓库到一个单独的储存库中
新增API:ByteArrayOutputStream
新增API:List、Map、Set
新增API:java.util.Properties
新增API: Collectors收集器