Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!

jdk17新特性说明和性能方面的提升介绍 PDF 下载


分享到:
时间:2024-01-27 15:57来源:http://www.java1234.com 作者:转载  侵权举报
jdk17新特性说明和性能方面的提升介绍
失效链接处理
jdk17新特性说明和性能方面的提升介绍  PDF 下载 


 
 
 
 
相关截图:

 
主要内容:


概述
据 Oracle Java SE 支持路线图显示,JDK 17 是自 Java 11 以来的首个长期支持
版本。对于 JDK 17,Oracle 官宣会提供支持到 2029 年,这给了业界一个相
当长的期许。
 
新特性
Java 17 的 14 个 新特性,分别是:
⚫ 306:恢复始终严格的浮点语义
⚫ 356:增强型伪随机数发生器
⚫ 382:新的 macOS 渲染管道
⚫ 391:macOS/AArch64 端口
⚫ 398:弃用即将删除的 Applet API
⚫ 403:强封装 JDK 的内部 API
⚫ 406:Switch 模式匹配(预览)
⚫ 407:删除 RMI 激活
⚫ 409:密封类
⚫ 410:删除实验性 AOT 和 JIT 编译器
⚫ 411:弃用即将删除安全管理器
⚫ 412:外部函数和内存 API(孵化器)
⚫ 414:Vector API(第二次进行特性孵化)
⚫ 415:特定于上下文的反序列化过滤器
 
 
密封类(Sealed Class)
Jdk17 之前的版本带有 final 修饰符的类是不能继承的,那如果有些情况,我们还是希望能
扩展类的功能,但是限制只有某些类能继承呢?在 Java 15 和 16 中引入了 Sealed Class
的功能预览,在 Java 17 中作为标准功能提供。Sealed Class 只允许特定的类继承。
// 只允许 Bicycle, Car, Truck 继承
public abstract sealed class Vehicle permits Bicycle, Car, Truck {...}
// Car 带有 final 修饰符,防止进一步扩展
public final class Car extends Vehicle {...}
// Truck 带有 sealed 修饰符,只允许特定的类继承public sealed class Truck extends Vehicle permits PickTruck, CyberTruck {...}
// Bicycle 带有 non-sealed 修饰符,任何类都可以继续扩展
public non-sealed class Bicycle extends Vehicle {...}
// 任意扩展 Bicycle 类
public class Motor extends Bicycle {...}
使用 Sealed Class 还有几点注意事项:
⚫ 被许可的子类,必须在编译时能被父类访问到。
⚫ 被许可的子类,必须直接继承 Sealed 父类。
⚫ 被许可的子类,必须带有 final,sealed,non-sealed 三个修饰符之一。
⚫ 被许可的子类必须在同一个 Java 模块中。
 
JDK 内部元素强封装
很多程序员以损害安全性和可维护性的方式使用 JDK 的内部元素比如一些非 public 类、方
法和字段。为了继续提高 JDK 的安全性和可维护性,默认强封装 JDK 的所有内部元素,从
而限制对它们的访问,除了关键的内部 API 如 sun.misc.Unsafe。


 
------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐