重磅:Java 14 正式发布了

简介: 重磅: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 中的模式匹配做好准备。


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/


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


推荐去我的博客阅读更多:


1.Java JVM、集合、多线程、新特性系列教程


2.Spring MVC、Spring Boot、Spring Cloud 系列教程


3.Maven、Git、Eclipse、Intellij IDEA 系列工具教程


4.Java、后端、架构、阿里巴巴等大厂最新面试题


生活很美好,明天见~


相关文章
|
缓存 关系型数据库 MySQL
百度搜索:蓝易云【CentOS8服务器安装MySQL报错:no match mysql-community-server】
现在,你已经成功安装了MySQL服务器并解决了"no match mysql-community-server"的报错问题。祝你使用愉快!
422 1
|
10月前
|
机器学习/深度学习 存储 传感器
《解锁深度Q网络新姿势:非马尔可夫环境难题》
深度Q网络(DQN)结合深度学习与Q学习,在Atari游戏等领域取得显著成绩,但在非马尔可夫环境中面临挑战。传统DQN基于马尔可夫决策过程(MDP),假设未来状态仅依赖当前状态和动作,忽视历史信息,导致在复杂环境中表现不佳。为此,研究人员提出了三种改进策略:1) 记忆增强型DQN,引入LSTM等记忆模块;2) 基于模型的强化学习结合,通过预测环境动态提升决策准确性;3) 多智能体协作与信息共享,利用多个智能体共同感知和决策。实验表明,这些改进有效提升了DQN在非马尔可夫环境中的性能,但计算复杂度和模型可解释性仍是未来研究的重点。
238 17
|
数据采集 存储 监控
CDGA|做好数据治理的几个策略,不看后悔
做好数据治理是企业实现数字化转型和智能化升级的关键。通过明确目标、建立组织、制定标准、实施质量管理、促进共享与协作以及持续优化与迭代等策略,企业可以构建完善的数据治理体系,提升数据价值,为业务决策提供有力支持。在未来的发展中,数据治理将成为企业核心竞争力的重要组成部分。
|
算法 Java 测试技术
Benchmark.NET:让 C# 测试程序性能变得既酷又简单
Benchmark.NET是一款专为 .NET 平台设计的性能基准测试框架,它可以帮助你测量代码的执行时间、内存使用情况等性能指标。它就像是你代码的 "健身教练",帮助你找到瓶颈,优化性能,让你的应用跑得更快、更稳!希望这个小教程能让你在追求高性能的路上越走越远,享受编程带来的无限乐趣!
624 13
|
网络协议 网络架构
|
JavaScript 网络安全 iOS开发
如何用 Electron 打包chatgpt-plus.top并生成mac客户端
如何用 Electron 打包chatgpt-plus.top并生成mac客户端
326 0
|
分布式计算 Hadoop Java
Flink CDC产品常见问题之tidb cdc 数据量大了就疯狂报空指针如何解决
Flink CDC(Change Data Capture)是一个基于Apache Flink的实时数据变更捕获库,用于实现数据库的实时同步和变更流的处理;在本汇总中,我们组织了关于Flink CDC产品在实践中用户经常提出的问题及其解答,目的是辅助用户更好地理解和应用这一技术,优化实时数据处理流程。
|
供应链 物联网 区块链
新技术浪潮之巅:探索区块链、物联网与虚拟现实的未来应用图景
【10月更文挑战第3天】在技术日新月异的今天,新兴技术如区块链、物联网(IoT)和虚拟现实(VR)正逐步改变我们的工作和生活方式。本文将深入探讨这些技术的发展趋势,通过具体应用场景描绘它们在未来社会中的角色,旨在为读者提供一个关于如何利用这些技术推动创新和解决现实问题的视角。
|
编解码 Linux 计算机视觉
python 调用ffmpeg使用usb摄像头录制视频,输出h264格式,自动获取摄像头的最佳帧率和最大画面尺寸
使用 Python 调用 FFmpeg 进行 USB 摄像头视频录制,需先确保安装 FFmpeg 和 Python 的 `subprocess` 模块。代码示例展示了如何自动获取摄像头的最佳帧率和最大分辨率,然后录制视频。首先通过 FFmpeg 列出摄像头格式获取信息,解析出帧率和分辨率,选择最优值。之后调用 FFmpeg 命令录制视频,设置帧率、分辨率等参数。注意 `/dev/video0` 是 Linux 的摄像头设备路径,Windows 系统需相应调整。代码中未直接实现自动获取最佳参数,通常需要借助其他库如 OpenCV。
|
自然语言处理 IDE 测试技术
阿里云 的 通义灵码 在 IDEA 使用
【7月更文挑战第1天】在IntelliJ IDEA中启用阿里云的通义灵码插件,需安装插件,搜索“tongyi”安装并登录阿里云账号。插件提供行级/函数级代码建议、自然语言生成代码、单元测试生成、代码注释和解释等功能。支持多种编程语言,但需联网使用并依赖阿里云账号。快捷键在macOS和Windows上有差异,如macOS的“Tab”键接受代码建议,“Esc”废弃。
3071 0