5分钟带你浏览java15
2020-09-22 本文已影响0人
安静的猫咪先生
java版本更新实在太快,大部分小伙伴还在使用jdk8的时候,jdk15又来了。真感觉学不动了。不过官方宣布,java15只支撑6个月到2021年3月,并非长期支持版本,不建议生产使用。听到这个消息,各位小伙伴,是不是长舒一口气呢:P
![](https://img.haomeiwen.com/i1969029/88919dd7573a59e8.png)
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 = """
<html>
<body>
<p>Hello, world</p>
</body>
</html>
""";
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 以来一直是可选的。