前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一文通晓Java历史各版本新特性

一文通晓Java历史各版本新特性

作者头像
微观技术
发布2020-08-20 15:12:45
1.1K0
发布2020-08-20 15:12:45
举报
文章被收录于专栏:微观技术

Java 作为一门经久不衰的语言,已经发展了20多年,本文简单罗列了各个版本的一些重要特性。大家可以根据自己公司需要,选择合适的版本。

? Java 13

发布时间:2019年3月

新特性:

•switch 语法优化更新•文本块升级•动态CDS档案•取消使用未使用的内存•重新实现旧版套接字API•FileSystems.newFileSystem新方法•nio新方法•核心库/ java.time•核心库/ java.util中:I18N•热点/ GC•安全库/ java.security•删除功能

? Java 12

发布时间:2019年3月

新特性:

•Shenandoah:低暂停时间的 GC(实验性功能)•JMH 基准测试•Switch 表达式(预览功能)•JVM 常量 API•只保留一个 ARM 64位实现(aarch64)•默认类数据共享归档文件•G1的可中断 mixed GC•改进G1垃圾收集器,以便在不活动时将Java堆内存归还给操作系统

? 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

? Java 10

发布时间:2018年3月

新特性:

•var 类型推断•将原来用 Mercurial 管理的众多 JDK 仓库代码,合并到一个仓库中,简化开发和管理过程。•统一的 GC 接口•G1 垃圾回收器的并行完整垃圾回收,实现并行性来改善最坏情况下的延迟。•应用程序类数据 (AppCDS) 共享,通过跨进程共享通用类元数据来减少内存占用空间,和减少启动时间。•ThreadLocal 握手交互。在不进入到全局 JVM 安全点 (Safepoint) 的情况下,对线程执行回调。优化可以只停止单个线程,而不是停全部线程或一个都不停。•移除 JDK 中附带的 javah 工具。可以使用 javac -h 代替。•使用附加的 Unicode 语言标记扩展。•能将堆内存占用分配给用户指定的备用内存设备。•使用 Graal 基于 Java 的编译器,可以预先把 Java 代码编译成本地代码来提升效能。•在 OpenJDK 中提供一组默认的根证书颁发机构证书

? 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

? Java 8

发布时间:2014年3月

新特性:

•函数式接口•Lambda表达式•方法引用•接口的default方法和静态方法•Optional•Streams•Date和Time API•Type注解•Nashhorn JavaScript引擎•并发计数器•Parallel操作•移除PermGen Error•TLS SNI

? Java 7

发布时间:2011年7月

新特性:

•switch增加对String的支持•在创建泛型对象时应用类型推断;•try/catch 可以 catch 多个异常类型•支持动态语言;•支持try-with-resources;•引入Java NIO.2开发包;•数值类型可以用二进制字符串表示,并且可以在字符串表示中添加下划线;•钻石型语法;•Boolean类型反转,空指针安全,参与位运算•Objects类增加避免空指针的equals方法•对Java集合( Collections)的增强支持

? 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;

? Java 5

发布时间:2004年10月

新特性:

•引入泛型;•增强循环,可以使用迭代方式;•自动装箱与自动拆箱;•类型安全的枚举;•可变参数;•静态引入;•元数据(注解);•新的线程模型和并发库•内省(introspector)

? 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。

? Java 1.3

发布时间:2000年5月

新特性:

•引入Java Sound API;•jar文件索引;•对Java的各个方面都做了大量优化和增强。

? Java 1.2

发布时间:1998年12月

新特性:

•引入集合(Collection)框架;•对字符串常量做内存映射;•引入JIT(Just In Time)编译器;•引入对打包的Java文件进行数字签名;•引入控制授权访问系统资源的策略工具;•引入JFC(Java Foundation Classes),包括Swing 1.0、拖放和Java 2D类库;•引入Java 插件;•在JDBC中引入可滚动结果集、BLOB、CLOB、批量更新和用户自定义类型;•在Applet中添加声音支持。

? Java 1.1

发布时间:1997年2月

新特性:

•引入JDBC(Java Database Connectivity);•支持内部类;•引入Java Bean;•引入RMI(Remote Method Invocation);•引入反射(仅用于内省)。

END

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-01-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 微观技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ? Java 13
  • ? Java 12
  • ? Java 11
  • ? Java 10
  • ? Java 9
  • ? Java 8
  • ? Java 7
  • ? Java 6
  • ? Java 5
  • ? Java 1.4
  • ? Java 1.3
  • ? Java 1.2
  • ? Java 1.1
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档