JDK17新特性

一、语法层面新特性

1、文本块

文本块指多行的字符串,使用连续的三个双引号来包围一段带换行的文字,它避免了换行转义的需要,并支持String.format。

同时添加了两个新的转义字符:

  • : , 置于行尾,用来将两行连接为一行

  • \s: 单个空白字符

2、Switch 表达式增强

支持表达式,增加yield关键字,跳出switch并返回结果

3、instanceof的模式匹配

4、var 局部变量推导

二、模块化及类封装

1、记录类 record 

特殊的class类,内部参数不可修改,只能用来描述一种简单的不可变的数据结构

2、隐藏类 Hidden Classes

可以通过读取base64字符串来反编译类,可以提高代码的安全性

3、密封类 Sealed Classes

增加关键字sealed,增加代码的安全性,允许该类可以被哪些子类继承

4、模块化 Module System

将代码模块化,很多时候jdk的很多功能我们不需要使用,就可以自定义jre包,减少内存空间的消耗。自己的代码也可以模块化,类似于微服务一样,把用到的接口暴露出去,不关心底层实现

类加载器的变更

extClassLoader变更为platformClassLoader,主要应对模块化的jar包加载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值