美文网首页程序员
Java学习26:JDK14新特性

Java学习26:JDK14新特性

作者: 苦难_69e0 | 来源:发表于2021-01-11 17:01 被阅读0次

2020年3月17日,Oracle公司正式发布了JDK14。共新增了16项新特性。

新的语言特性

新的语言特性有7项,包括3项正式特性与4项非正式特性。

switch表达式(JEP361)

switch1.png switch2.png switch3.png

友好的空指针异常(JEP358)

image.png

早期的JDK运行后提示空指针异常:java.lang.NullPointerException at Test02NullPointerException .main( Test02NullPointerException .java:7)
无法确定是到底car为空还是engine为空

在JDK14版本中,开启参数
-XX:ShowCodeDetailsInExceptionMessages
可以更好的指定哪个底放出现异常

非易失性映射字节缓冲区(JEP352)

在JDK14中,新增了特地给JDK的文件映射模式,可以使用FileChannel创建引用非易失性存储器的MappedByteBuffer。

record(JEP359)

record提供了一种紧凑的语法来声明类,这是Preview预览功能。
record可以看作是一种新的类型,类似于枚举,只需要使用record定义名称及它的属性即可,如:
record Person(String name,int age){}
系统会自动生成Person的标准的成员:
Person 中每个属性都定义为private final 修饰的字段。
每个属性都提供公共的getter方法。
有一个公共构造方法,构造方法签名与声明相同,即 Person(String name,int age)
会生成equals()/hashCode()方法的实现
会生成toString()方法的重写

注意:record 不能继承,record类隐含是final类即也不能被继承。

编译:java -enable-preview -source 14 类名.java
运行:java -enable-preview 类名

instanceof模式匹配(JEP305)

在JDK14中,通过对instanceof运算符进行模式匹配来增强java语言,这是Preview预览功能。

早期.png JDK14.png

文本块(JEP368)

在JDK13中引入了文本块的预览,在JDK14中进行二次预览,为了更方便的对HTML,XML,JSON,SQL这些字符串进行更好的阅读和维护。

文本块.png

外部存储器API(JEP370)

外部存储器API主要包含三个类:
MemorySegment
MemoryAddress
MemoryLayout

该功能是作为孵化器模块引入的,为了让更多的Java社区的人员参与测试与反馈。

垃圾回收修改

G1的NUMA内存分配优化(JEP345)

non-uniform memory access 非统一的内存访问

JFR事件流(JEP349)

JDK flight Recorder

移除CMS垃圾收集器(JEP363)

弃用Parallel Scavenge和Serial Old垃圾收集算法(JEP366)

MacOS系统上的ZGC实验(JEP364)

Windows系统上的ZGC实验(JEP365)

移除包和功能

弃用Solaris和SPARC端口(JEP362)

移除Pack200(JEP367)

添加了一些工具

打包工具(JEP343)

想创建一个用于打包的独立的java工具,处于孵化阶段。

相关文章

  • Java学习26:JDK14新特性

    2020年3月17日,Oracle公司正式发布了JDK14。共新增了16项新特性。 新的语言特性 新的语言特性有7...

  • JDK14新特性介绍

    JDK14新特性介绍 描述 OpenJDK14是Java SE平台的版本14的开源参考实现,由Java社区流程中的...

  • JDK14 新特性

    NUMA-Aware Memory Allocation for G1 了解这个特性之前,我们需要了解什么是NUM...

  • jdk14新特性

    1 JDK 14新特性即将发布 1.1 JDK 14详细概述 JDK 8 已经在 2014年 3月 18日正式可用...

  • Java11的新特性

    Java语言特性系列 Java5的新特性 Java6的新特性 Java7的新特性 Java8的新特性 Java9的...

  • Java15的新特性

    Java语言特性系列 Java5的新特性 Java6的新特性 Java7的新特性 Java8的新特性 Java9的...

  • Java12的新特性

    Java语言特性系列 Java5的新特性 Java6的新特性 Java7的新特性 Java8的新特性 Java9的...

  • Java 8 新特性

    Java 8 新特性 声明:java8新特性系列为个人学习笔记,参考地址点击这里,侵删!! Java 8 (又称为...

  • JDK14的新特性

    虽然JDK13在今年的9月17号才发布,但是丝毫不会影响到下一个版本JDK14的开发工作。听说官方定的新功能马上就...

  • Apache和Spring提供的StopWatch执行时间监视器

    相关阅读 【小家java】java5新特性(简述十大新特性) 重要一跃【小家java】java6新特性(简述十大新...

网友评论

    本文标题:Java学习26:JDK14新特性

    本文链接:https://www.haomeiwen.com/subject/rvtciktx.html