Java14发布了,有啥新特性呢( 六 )


可见,Java 14带来了许多创新。
转载于公众号号:菜鸟要飞
作者:鸟哥

■网友
Features305:Pattern Matching for instanceof (Preview)343:Packaging Tool (Incubator)345:NUMA-Aware Memory Allocation for G1349:JFR Event Streaming352:Non-Volatile Mapped Byte Buffers358:Helpful NullPointerExceptions359:Records (Preview)361:Switch Expressions (Standard)362:Deprecate the Solaris and SPARC Ports363:Remove the Concurrent Mark Sweep (CMS) Garbage Collector364:ZGC on macOS365:ZGC on Windows366:Deprecate the ParallelScavenge + SerialOld GC Combination367:Remove the Pack200 Tools and API368:Text Blocks (Second Preview)370:Foreign-Memory Access API (Incubator)
■网友
JDK14发布有几天了,作为一个十分关注新技术的码农,在发布的当天我就去体验了一下,在这里简单说一下:
首先贴上官网:http://openjdk.java.net/projects/jdk/14/
我相信题主来这里提问就是因为不想看官网的长篇大论,那我就简单的说一下提升的几个点:
1.JEP 305: Pattern Matching for instanceof (Preview) :instanceof模式的使用发生了改变,说白了就是写法优化,写起来更简单一点。(还不错)
2.JEP 358: Helpful NullPointerExceptions:关于空指针异常,可以更精准的判断异常位置。
3.JEP 361: Switch Expressions (Standard):关于Switch表达式的升级,继承自JDK13,让整个语法看起来更为优雅。
4.JEP 345: NUMA-Aware Memory Allocation for G1 : 非同一内存访问架构的优化,一般使用者是用不到。
【Java14发布了,有啥新特性呢】 5.JEP 349: JFR Event Streaming:更方便的了解运行的JVM情况,在之前的版本中就提供了JFR特性了,在实时监控方面进行了升级。
6.JEP 366: Deprecate the ParallelScavenge + SerialOld GC Combination : ParallelScavenge + SerialOld GC的GC组合要被标记为Deprecate了,也就意味着,在接下来的某个JDK版本中,会彻底不兼容这种GC组合。
7.JEP 363: Remove the CMS Garbage Collector:移除CMS,CMS的设计还是落后了一点,而且它的碎片化问题,给你的JVM实例就像埋了一颗炸弹。当然,如果你JDK14中你还是配置的CMS(-XX:+UseConcMarkSweepGC),JVM不会报错,只是给出一个告警信息,JVM会自动回退以默认GC方式启动JVM。
8.EP 364: ZGC on macOS : MacOS上只吃ZGC,mac用的提升。没什么好说明的。
9.JEP 368: Text Blocks (Second Preview):的这点需要注意,语法上的改变,其实在JDK13中就有提到,只不过这是Second Preview(第二个版本)而已,总的来说我喜欢这个,看起来更舒服。
在这里没有详细列出,知道这些对于一般程序员而言就足够了,想知道更详细的可以直接看上面的链接,官网给出的解释更权威也更细致。
一个奋斗在一线的码农!

■网友
有啥新特性
你去openjdk 官网看不比这里问的快?
http://openjdk.java.net/projects/jdk/14/


推荐阅读