Java各个版本特性
Java 作为⼀门经久不衰的语⾔,已经发展了20多年,本⽂简单罗列了各个版本的⼀些重要特性。⼤家可以根据⾃⼰公司需要,选择合适的版本。
1. Java 13
发布时间:2019年3⽉
新特性:
switch 语法优化更新
⽂本块升级
动态CDS档案
取消使⽤未使⽤的内存
重新实现旧版套接字API
nio新⽅法
核⼼库/ java.time
核⼼库/ java.util中:I18N
热点/ GC
安全库/ java.security
删除功能
2. Java 12
发布时间:2019年3⽉
新特性:
Shenandoah:低暂停时间的 GC(实验性功能)
JMH 基准测试
Switch 表达式(预览功能)
JVM 常量 API
只保留⼀个 ARM 64位实现(aarch64)
默认类数据共享归档⽂件
G1的可中断 mixed GC
改进G1垃圾收集器,以便在不活动时将Java堆内存归还给操作系统
3. Java 11
Java 11 是⾃ Java 8 后的⾸个长期⽀持版本,将⽀持到2026年!
发布时间:2018年9⽉
新特性:
基于嵌套的访问控制
动态的类⽂件常量
改进 Aarch64 Intrinsics
Epsilon 垃圾回收器,⼜被称为"No-Op(⽆操作)"回收器
移除 Java EE 和 CORBA 模块,JavaFX 也已被移除
HTTP Client (Standard)
⽤于 Lambda 参数的局部变量语法
采⽤ Curve25519 和 Curve448 算法实现的密钥协议
Unicode 10
实现 ChaCha20 和 Poly1305 加密算法
启动单个 Java 源代码⽂件的程序
低开销的堆分配采样⽅法
对 TLS 1.3 的⽀持
ZGC:可伸缩的低延迟垃圾回收器,处于实验性阶段
弃⽤ Nashorn JavaScript 引擎
弃⽤ Pack200 ⼯具及其 API
4. Java 10
发布时间:2018年3⽉
新特性:
var 类型推断
将原来⽤ Mercurial 管理的众多 JDK 仓库代码,合并到⼀个仓库中,简化开发和管理过程。
统⼀的 GC 接⼝
G1 垃圾回收器的并⾏完整垃圾回收,实现并⾏性来改善最坏情况下的延迟。
应⽤程序类数据 (AppCDS) 共享,通过跨进程共享通⽤类元数据来减少内存占⽤空间,和减少启动时间。
ThreadLocal 握⼿交互。在不进⼊到全局 JVM 安全点 (Safepoint) 的情况下,对线程执⾏回调。优化可以只停⽌单个线程,⽽不是停全部线程或⼀个都不停。
移除 JDK 中附带的 javah ⼯具。可以使⽤ javac -h 代替。
使⽤附加的 Unicode 语⾔标记扩展。
能将堆内存占⽤分配给⽤户指定的备⽤内存设备。
使⽤ Graal 基于 Java 的编译器,可以预先把 Java 代码编译成本地代码来提升效能。
在 OpenJDK 中提供⼀组默认的根证书颁发机构证书
5. Java 9
发布时间:2017年9⽉
新特性:
“JShell”的新⼯具
完全⽀持 HTTP 2.0 并带来新的 HTTP 客户端,它会代替 HttpURLConnection —— 同时还会实现 HTTP 2.0 和 Web Socket。
模块化的 JVM,使之可以在内存有限的设备上运⾏。JVM 可以只运⾏那些应⽤程序需要的模块和 API。
轻量级的 JSON API
智能 Java 编译
接⼝中引⼊私有⽅法。从 Java SE 9 开始可以在接⼝中使⽤ ‘private’ 关键字写私有⽅法和私有静态⽅法了。
响应式流
多分辨率图像 API
改进 GC (垃圾回收)
HTML5 Javadocs
改进 Stream(流) API
增强 @Deprecated 注解
改进 Optional 类
改进 CompletableFuture API
6. Java 8
发布时间:2014年3⽉
新特性:
函数式接⼝
Lambda表达式
⽅法引⽤
-
接⼝的default⽅法和静态⽅法
-Optional
Streams
Date和Time API
Type注解
Nashhorn JavaScript引擎
并发计数器
Parallel操作
移除PermGen Error
TLS SNI
7. Java 7
发布时间:2011年7⽉
新特性:
switch增加对String的⽀持
在创建泛型对象时应⽤类型推断;
try/catch 可以 catch 多个异常类型
⽀持动态语⾔;
⽀持try-with-resources;
引⼊Java NIO.2开发包;
数值类型可以⽤⼆进制字符串表⽰,并且可以在字符串表⽰中添加下划线;
钻⽯型语法;
Boolean类型反转,空指针安全,参与位运算
Objects类增加避免空指针的equals⽅法
对Java集合( Collections)的增强⽀持
8. Java 6
发布时间:2006年4⽉
新特性:
⽀持脚本语⾔;
引⼊JDBC 4.0 API;
引⼊Java Compiler API;
可插拔注解;
增加对Native PKI(Public Key Infrastructure)、Java GSS(Generic Security Service)、Kerberos和LDAP(Lightweight Directory Access Protocol)的⽀持;
继承Web Services;
9. Java 5
发布时间:2004年10⽉
新特性:
引⼊泛型;
增强循环,可以使⽤迭代⽅式;
⾃动装箱与⾃动拆箱;
类型安全的枚举;
可变参数;
静态引⼊;
元数据(注解);
新的线程模型和并发库
内省(introspector)
10. Java 1.4
发布时间:2004年2⽉
新特性:
XML处理;
Java打印服务;
引⼊Logging API;
引⼊Java Web Start;
引⼊JDBC 3.0 API;
引⼊断⾔;
引⼊Preferences API;
引⼊链式异常处理;
⽀持IPv6;
⽀持正则表达式;
引⼊Image I/O slot machine API。
11. Java 1.3
发布时间:2000年5⽉
新特性:
引⼊Java Sound API;
jar⽂件索引;
对Java的各个⽅⾯都做了⼤量优化和增强。
12. Java 1.2
发布时间:1998年12⽉
新特性:
引⼊集合(Collection)框架;
对字符串常量做内存映射;
引⼊JIT(Just In Time)编译器;
引⼊对打包的Java⽂件进⾏数字签名;
引⼊控制授权访问系统资源的策略⼯具;
引⼊JFC(Java Foundation Classes),包括Swing 1.0、拖放和Java 2D类库;
时间正则表达式java引⼊Java 插件;
在JDBC中引⼊可滚动结果集、BLOB、CLOB、批量更新和⽤户⾃定义类型;
在Applet中添加声⾳⽀持。
13. Java 1.1
发布时间:1997年2⽉
新特性:
引⼊JDBC(Java Database Connectivity);
⽀持内部类;
引⼊Java Bean;
引⼊RMI(Remote Method Invocation);
引⼊反射(仅⽤于内省)。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论