JDK 16 新特性概览
JEP 338: Vector API (Incubator)
Provide an initial iteration of an incubator module, jdk.incubator.vector
, to express vector computations that reliably compile at runtime to optimal vector hardware instructions on supported CPU architectures and thus achieve superior performance to equivalent scalar computations.
JEP 338: 向量API(孵化器)
提供一个初步迭代的孵化模块,jdk.incubator.vector
,用于表达向量计算,这些计算在运行时能够可靠地编译为支持的CPU架构上的最佳向量硬件指令,从而实现比等效标量计算更优越的性能。
JEP 347: Enable C++14 Language Features
Allow the use of C++14 language features in JDK C++ source code, and give specific guidance about which of those features may be used in HotSpot code.
JEP 347: 启用 C++14 语言特性
允许在 JDK C++ 源代码中使用 C++14 语言特性,并提供关于哪些特性可以在 HotSpot 代码中使用的具体指导。
JEP 357: Migrate from Mercurial to Git
Migrate the OpenJDK Community's source code repositories from Mercurial (hg) to Git.
JEP 357: 从Mercurial迁移到Git
将OpenJDK社区的源代码库从Mercurial(hg)迁移到Git。
JEP 369: Migrate to GitHub
Host the OpenJDK Community's Git repositories on GitHub. In concert with JEP 357 (Migrate from Mercurial to Git), this would migrate all single-repository OpenJDK Projects to GitHub, including both JDK feature releases and JDK update releases for versions 11 and later.
JEP 369: 迁移到GitHub
将OpenJDK社区的Git仓库托管在GitHub上。配合JEP 357 (从Mercurial迁移到Git),这将把所有单一仓库的OpenJDK项目迁移到GitHub,包括Java开发工具包(JDK)功能发布和Java开发工具包(JDK)更新发布,适用于版本11及更高版本。
JEP 376: ZGC: Concurrent Thread-Stack Processing
Move ZGC thread-stack processing from safepoints to a concurrent phase.
JEP 376: ZGC: 并发线程栈处理
将 ZGC 线程栈处理从安全点移至并发阶段。
JEP 380: Unix-Domain Socket Channels
Add Unix-domain (AF_UNIX
) socket support to the socket channel and server-socket channel APIs in the java.nio.channels
package. Extend the inherited channel mechanism to support Unix-domain socket channels and server socket channels.
JEP 386: Alpine Linux Port
Port the JDK to Alpine Linux, and to other Linux distributions that use musl as their primary C library, on both the x64 and AArch64 architectures,
JEP 386: Alpine Linux 移植
将 JDK 移植到 Alpine Linux,以及其他使用 musl 作为其主要 C 库的 Linux 发行版,支持 x64 和 AArch64 架构。
JEP 387: Elastic Metaspace
Return unused HotSpot class-metadata (i.e., metaspace) memory to the operating system more promptly, reduce metaspace footprint, and simplify the metaspace code in order to reduce maintenance costs.
JEP 387: 弹性元空间
更及时地将未使用的 HotSpot 类元数据(即 元空间)内存返回给操作系统,减少元空间占用,并简化元空间代码以降低维护成本。
JEP 388: Windows/AArch64 Port
Port the JDK to Windows/AArch64.
JEP 388: Windows/AArch64 移植
将 JDK 移植到 Windows/AArch64。
JEP 389: Foreign Linker API (Incubator)
Introduce an API that offers statically-typed, pure-Java access to native code. This API, together with the Foreign-Memory API (JEP 393), will considerably simplify the otherwise error-prone process of binding to a native library.
JEP 389: 外部链接器API (孵化器)
引入一个API,提供静态类型的、纯Java对本地代码的访问。该API与外部内存API(JEP 393)结合,将大大简化与本地库绑定的错误易发过程。
JEP 390: Warnings for Value-Based Classes
Designate the primitive wrapper classes as value-based and deprecate their constructors for removal, prompting new deprecation warnings. Provide warnings about improper attempts to synchronize on instances of any value-based classes in the Java Platform.
JEP 390: 值基类的警告
将原始包装类指定为 值基类 并弃用其构造函数以便移除,从而引发新的弃用警告。提供关于在 Java 平台上对任何值基类实例进行不当同步尝试的警告。
JEP 392: Packaging Tool
Provide the jpackage
tool, for packaging self-contained Java applications.
JEP 392: 打包工具
提供 jpackage
工具,用于打包自包含的 Java 应用程序。
JEP 393: Foreign-Memory Access API (Third Incubator)
Introduce an API to allow Java programs to safely and efficiently access foreign memory outside of the Java heap.
JEP 393: 外部内存访问API(第三次孵化)
引入一个API,以允许Java程序安全高效地访问Java堆外的外部内存。
JEP 394: Pattern Matching for instanceof
Enhance the Java programming language with pattern matching for the instanceof
operator. Pattern matching allows common logic in a program, namely the conditional extraction of components from objects, to be expressed more concisely and safely.
JEP 394: instanceof 的模式匹配
通过为 instanceof
操作符增强 Java 编程语言的 模式匹配 功能。模式匹配 使得程序中常见的逻辑,即从对象中条件性地提取组件,可以更简洁和安全地表达。
JEP 395: Records
Enhance the Java programming language with records, which are classes that act as transparent carriers for immutable data. Records can be thought of as nominal tuples.
JEP 395: 记录
通过引入记录,增强Java编程语言,记录类作为不可变数据的透明载体。记录可以被视为_名义元组_。
JEP 396: Strongly Encapsulate JDK Internals by Default
Strongly encapsulate all internal elements of the JDK by default, except for critical internal APIs such as sun.misc.Unsafe
. Allow end users to choose the relaxed strong encapsulation that has been the default since JDK 9.
JEP 396: 默认强封装JDK内部
默认情况下,强封装JDK的所有内部元素,除了关键内部API,例如 sun.misc.Unsafe
。允许最终用户选择自JDK 9以来一直是默认的放宽强封装。
JEP 397: Sealed Classes (Second Preview)
Enhance the Java programming language with sealed classes and interfaces. Sealed classes and interfaces restrict which other classes or interfaces may extend or implement them. This is a preview language feature in JDK 16.