5分钟带你浏览java15

java版本更新实在太快,大部分小伙伴还在使用jdk8的时候,jdk15又来了。真感觉学不动了。不过官方宣布,java15只支撑6个月到2021年3月,并非长期支持版本,不建议生产使用。听到这个消息,各位小伙伴,是不是长舒一口气呢:P

java 15

java15共14个新特征。笔者分成3类:


重点了解(面试装逼专用):

1.JEP 339: EdDSA 数字签名算法

  • 使用 Edwards-Curve 数字签名算法(EdDSA)实现加密签名。
  • EdDSA签名算法 具有更高的安全性和性能。

2.JEP 360:封闭类

封闭类,可以是封闭类、封闭接口。只有指定的指定的子类才可以继承

package com.example.geometry;
public sealed class Shape
    permits Circle, Rectangle, Square {...}

3.JEP 371: 隐藏类

  • 隐藏类只能通过反射访问,不能直接被其他类访问
  • 为框架开发准备的

炒冷饭区(以前就有的功能):

4.JEP 375: instanceof 自动匹配模式

instanceof 和类型转化,一行搞定

if (obj instanceof String s) {
    s.contains("Java 15 with Pattern Matching");
} else {
    ...
} 

5.JEP 377: ZGC,一个可伸缩、低延迟的垃圾回收器

java11登场,15终于转正

6.JEP 378: 多行文本功能

java13登场,15终于转正

String html = """
              
                  
                      

Hello, world

""";

7.JEP 379: Shenandoah,一个低停顿时间的GC

java12登场,15进入转正准备阶段

8.JEP 384: Record类型

java14预览 15第2次预览
Record 类型,有点类似于Lombok 的@Data注解。用于快速创建数据结构。

record Point(int x, int y) { }

自动拥有下面特征:

  • 构造方法
  • hashCode() 方法
  • euqals() 方法
  • toString() 方法
  • 类对象被final 关键字修饰,不能被继承。

看不看随你(日常开发基本[jie dui]用不上)

9.JEP 372: 移除 Nashorn JavaScript引擎

因为难用,所以删除。
java11时,就已经是 deprecated了

10.JEP 373: 重新实现DatagramSocket API

更改java.net.DatagramSocket 和 java.net.MulticastSocket 为更加简单、现代化的底层实现。

11.JEP 374: 准备禁用偏向锁

如果你不知道什么是偏向锁。那恭喜了,因为不用知道了
(多线程时,使用锁。当没有竞争,只有1个线程时,使用偏向锁,降低性能损耗)

12.JEP 381: 删除 Solaris 和 SPARC 端口

删除就删除吧
java14准备删除,15正式删除

13.JEP 383: 外部存储器访问 API

允许Java 应用程序安全有效地访问 Java 堆之外的外部内存
java14开始孵化,java15还在孵化

14.JEP 385: 废除 RMI 激活

RMI 激活是 RMI 中一个过时的组件,自 Java 8 以来一直是可选的。

你可能感兴趣的:(5分钟带你浏览java15)