zoukankan      html  css  js  c++  java
  • 你可能不知道的java14新特性

    新特性一、简化instanceof

     

    PS:如果大家在学习过程中遇到什么问题,或者缺乏相关的学习资料,可查看我的公告栏获取,有问题随问随答,还有我这段时间整理的一些Java学习手册,面试题,开发工具,PDF文档书籍教程,需要的话都可以免费分享给大家。

    新特性二、改进NullPointerException

    jdk14中这个新特性能够告诉你到底是那个方法导致空指针异常,而再jdk14以前则只会告诉你哪一行代码报空指针异常。如果遇到链式调用的代码则不能确定到底是那个环节导致了异常

    再程序运行的时候需要添加一行参数:-XX:+ShowCodeDetailsInExceptionMessages
    可能后期版本中就会将其作为默认参数,但再java14中需要添加这个参数才能使用这个新特性

    新特性三、Rocord (预览特性、后期版本一定会被确定下来)

    record的出现是为了解决java啰嗦的用来作为数据的承载类(entity层),例如get、set、toString等方法
    如下定义代码

    编译后就

    成员属性是final的只有get方法,与以前的不同采用变量名作为get方法的方法名
    如下示例代码

     

    record注意点

    record可以定义静态的属性、静态的方法、构造方法、实例方法

    1. 如果声明非静态的属性则会报语法错误

    2.不可以将record定义的类声明为abstract的
    下面的定义不符合语法

    3.不可以给record定义的类声明显式的父类(非Record类)下面的定义不符合语法

    新特性四、弃用ParallelScavenge (Young区的GC)与

    SerialOld GC (Old区的GC)组合作为GC

    这个组合的使用场景是拥有一个很大的Young区和一个很小的Old区

    废弃了parallel young generation GC与SerialOld GC的组合( -XX:+UseParallelGC与XX:-UseParallelOldGC配合开启),现在使用-XX:+UseParallelGC -XX:UseParallelOldGC或者-XX:-UseParallelOldGC都会出现告警如下

    Java HotSpot(TM) 64-Bit Server VM warning: Option UseParallelOldGC was deprecated in version 14.0 and will likely be removed in a future release.

    新特性五、直接删除CMS垃圾回收器,在Jdk9时就已经标记为废除

    CMS的弊端 :

    1. 会产生内存碎片,导致并发清除后,用户线程可用的空间不足。
    2. 既然强调了并发(Concurrent),CMS收集器对CPU资源非常敏感
    3. CMS 收集器无法处理浮动垃圾(一边回收、另一边产生垃圾称为浮动垃圾)

    新特性六、ZGC(未来的垃圾回收器,STW在10ms以内)

    使用方式

  • 相关阅读:
    June 26th 2017 Week 26th Monday
    June 25th 2017 Week 26th Sunday
    June 24th 2017 Week 25th Saturday
    June 23rd 2017 Week 25th Friday
    June 22nd 2017 Week 25th Thursday
    2018最佳网页设计:就是要你灵感爆棚!!!
    图片素材类Web原型制作分享-Pexels
    想要打动HR的心,UX设计师求职信究竟应该怎么写?
    【UXPA大赛企业专访】Mockplus:“设计替代开发”将成为现实
    2018年最好的医疗网站设计及配色赏析
  • 原文地址:https://www.cnblogs.com/lcywuwuwu/p/14005768.html
Copyright © 2011-2022 走看看