有朋友问JDK14都增加了什么东西,
从https://www.oracle.com/java/technologies/javase/14-relnote-issues.html#NewFeature翻译来了一篇,分享出来,已经对文章的细节进行了调整。
总结主要的内容为
- 会计格式
- GC的变动
- JFR 事件流
JDK 14的新特性和增强
会计货币格式支持
core-libs
使用“ u-cf-account” Unicode 语言环境扩展调用 NumberFormat.getCurrencyInstance(Locale)
可以获得具有会计风格的货币格式实例,其中金额在某些区域设置中的括号中进行了格式化。例如,在 Locale.US 中,它将格式化为“($3.27)
”而不是“-$3.27
”。有关其他信息,请参考 CLDR 的会计货币格式样式。
See JDK-8215181
Jep359 记录(预览)
core-libs/java.lang
Core-libs/java. lang
在 JDK 14中,Records (jep359)预览特性添加了一个新的类 java.lang.Record
。java.lang
包是按需隐式导入的,即 import java.lang.*
。如果现有源文件中的代码需要导入其他包,例如,import com.myapp.*;
,而另一个包声明了一个名为 Record
的类型,那么引用该类型的现有源文件中的代码不进行更改将不能编译。要使代码编译,可以使用单一类型的导入导入另一个包的 Record
类型,例如,import com.myapp.Record;
。
See JDK-8222777
ReadableByteChannel.read() 和相关方法的说明有了更清晰的版本
core-libs/java.nio
Core-libs/java. nio
DatagramChannel.receive()
, FileChannel.read(ByteBuffer,long)
, ReadableByteChannel.read()
, 和ScatteringByteChannel.read()
方法的说明已经在这个版本中更新,来说明如果(任何)缓冲区参数是只读的,则抛出 IllegalArgumentException
。这种改变仅仅是调整说明以适应现有的长期行为。
See JDK-8164993
JEP 365 Windows版本的 Z垃圾收集器
hotspot/gc
Z 垃圾收集器(ZGC)现在是 Windows 上的一个实验性特性。要启用它,请使用 JVM 参数-XX:+UnlockExperimentalVMOptions -XX:+UseZGC
。更多信息请参见 JEP 365: ZGC on Windows。
See JDK-8232364
见 JDK-8232364