查看原文
其他

重磅:Java 14 正式发布了!

Java技术栈 2020-10-08

Java技术栈

www.javastack.cn

优秀的Java技术公众号



是的,Java 14 发布了!


此版本包含的 JEP(Java/JDK Enhancement Proposals,JDK 增强提案)比 Java 12 和 13 加起来的还要多。总共 16 个新特性如下:

305:Pattern Matching for instanceof (Preview)
为 instanceof 运算符引入模式匹配(预览阶段)

通过模式匹配,开发者可以用更简洁和更安全的方式来表达通用的程序逻辑。instanceof 运算符的模式匹配支持从对象中按条件来提取组件,此语言特性目前处于预览阶段。

343:Packaging Tool (Incubator)  
打包工具(孵化阶段)

创建一个用于打包独立 Java 应用程序的工具。

345:NUMA-Aware Memory Allocation for G1
针对 G1 的 NUMA-Aware 内存分配

通过实现 NUMA-aware 内存分配,提升 G1 在大型机器上的性能。

349:JFR Event Streaming
JFR 事件流

暴露 JDK Flight Recorder 数据以进行连续监视。

352:Non-Volatile Mapped Byte Buffers
非易失性映射的字节缓冲

非易失性映射的字节缓冲将添加新的 JDK 特定文件映射模式,该模式允许 FileChannel API 用于创建引用非易失性内存(NVM)的 MappedByteBuffer 实例。

358:Helpful NullPointerExceptions

改进 NullPointerExceptions,通过准确描述哪些变量为 null 来提高 JVM 生成的异常的可用性。该提案的作者希望为开发人员和支持人员提供有关程序为何异常终止的有用信息,并通过更清楚地将动态异常与静态程序代码相关联来提高对程序的理解。

359:Records (Preview)

Records 提供了一种紧凑的语法来声明类,以帮助开发者写出更简洁的代码,这些类是浅层不可变数据(shallowly immutable data)的透明拥有者。该特性主要用在特定领域的类,这些类主要用于保存数据,不提供领域行为。

361:Switch Expressions (Standard)

Switch Expressions 在 JDK 12 与 13 中都是预览状态,现在在 JDK 14 中已成为稳定特性。switch 表达式扩展了 switch 语句,使其不仅可以作为语句(statement),还可以作为表达式(expression),并且两种写法都可以使用传统的 switch 语法,或者使用简化的“case L ->”模式匹配语法作用于不同范围并控制执行流。这些更改将简化日常编码工作,并为 switch 中的模式匹配做好准备。

关注微信公众号:Java技术栈,在后台回复:java,可以获取我整理的 N 篇最新 Java 8-12 新特性教程,都是干货。

362:Deprecate the Solaris and SPARC Ports

弃用 Solaris 和 SPARC 端口

弃用 Solaris/SPARC, Solaris/x64 和 Linux/SPARC 端口,以便在未来的版本进行移除。

363:Remove the Concurrent Mark Sweep (CMS) Garbage Collector

移除 CMS(Concurrent Mark-Sweep) 垃圾回收器。

364:ZGC on macOS

将 ZGC 垃圾回收器移植到 macOS。

365:ZGC on Windows

将 ZGC 垃圾回收器移植到 Windows。

366:Deprecate the ParallelScavenge + SerialOld GC Combination

弃用 ParallelScavenge + SerialOld GC 的垃圾回收算法组合。

367:Remove the Pack200 Tools and API
移除 Pack200 工具和 API

删除 java.util.jar 包中的 pack200 和 unpack200 工具以及 Pack200 API。

368:Text Blocks (Second Preview)

文本块特性(Text Blocks)与常见的 Python"""any input"""特性一样,它支持多行字符串文字,可以不需要使用大多数转义序列,并以一种可预测的方式自动设置字符串格式,同时可以让开发人员控制格式。虽然这不是特别复杂的特性,但对于开发中想将 HTML 代码引入 Java 来说是极大的便利,代码可读性也极大提高。目前处于第二个预览阶段。

370:Foreign-Memory Access API (Incubator)
外部内存访问 API(孵化阶段)

新增一个 API 以允许 Java 程序安全有效地访问 Java 堆之外的外部内存。

详情查看:http://openjdk.java.net/projects/jdk/14/  
可用于生产环境的二进制包下载:http://jdk.java.net/14/

来源:https://www.oschina.net/news/114156/jdk-14-ga

END


学习资料:

分享一份最新 Java 架构师学习资料

最近热文:

1、我去,同事居然用明文存储密码!!!
2、HTTP连接选HttpClient还是OkHttp?
3、运算神器 BigDecimal,了解一下?
4、为啥老外偏爱 Hibernate/JPA 呢?
5、一次 Druid 连接池泄露引发的血案!
6、Spring Boot 优雅停止服务的几种方法!
7、如何在 Gihub 快速搜索开源项目?
8、NIO 和 IO 到底有什么区别?
9、图文并茂,带你掌握 JVM 垃圾回收!
10、干掉PostMan!IDEA这款插件太实用了…

短视频:

1、Java 24 年发展史,辉煌的 24 年!
2、互联网工作生存指南,太真实了!
3、Java 8 中的永久代去哪了?
4、做了几年Java,还不知道什么是守护线程?
5、一图搞懂 Java 中的异常分类!
公众号干货实在太多了,扫码关注Java技术栈公众号看更多。

点击「阅读原文」带你飞~

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存