Java13新特性

JAVA13

概述:JAVA是目前应用最为广泛的软件开发平台之一; jdk13是在2018年9月26日发布,

安装:

下载地址:https://www.oracle.com/java/technologies/downloads/archive

同JDK8、9安装步骤一样,安装好之后,记得配置环境变量就可以;

查看java版本

java -version

新特性

switch语法

Type type = Type.AQ;
String abc = switch (type) {
             case AQ -> "a";
             case BQ, CQ -> "b";
             default -> throw new Exception("异常");
};
// 结果是 a
enum Type{
    AQ,BQ,CQ
}

垃圾回收

按线程数分,分为串行垃圾回收器、并行垃圾垃圾回收器;

Serial回收器、ParNew回收器、CMS回收器、G1回收器。

评估一款GC的性能:

  1. 吞吐量:程序运行时间(程序运行时间+内存回收时间)
  2. 垃圾收集开销:(垃圾回收所占时间占总时间比例)
  3. 暂停时间:程序工作线程暂停时间
  4. 收集时间:收集操作发生的频率
  5. 堆空间:Java堆所占内存大小
  6. 快速:一个对象诞生到被回收所经历的时间

ZGC:在GC释放的内存会归还给操作系统

String

// 增加项 (transform)
String str1 = "ttt".transform(x -> x + "name");
System.out.println(str1); // tttname

// 缩进 (indent)
String str2 = "ttt".indent(3);
System.out.println(str2); //    ttt 缩进3格

Files

// 看2个文件是否匹配,文件1 与文件2 是否有匹配 ,如果没有差异返回-1 ,如果有返回该行的下标
long mismatch = Files.mismatch(Path.of("tmp/a.txt"), Path.of("tmp/b.txt"));
System.out.println(mismatch);

TextBlock文本块

String str3 = "<div>123" + "</div>";   // 旧写法
String str4 = """
              <div>123</div>
              """;
System.out.println(str3);
System.out.println(str4);
System.out.println(str3.equals(str4)); // false

// %s 可以动态传入参数
String name = "名字";
String str5 = """
                <div>%s</div>
              """.formatted(name);
System.out.println(str5);

Record

// 使用 record 省略了构造函数、getset方法、equals、toString,但属性都是用final修饰
public record 类名(int 字段1,String 字段2){
}
// 目前在jdk14正式使用,但我们一般final修饰不能修改

sealed

// 密封类 ,该类,只能被 类A、类B继承,其他类不能继承
public sealed 类名1 permitsA,B,C{
}
final classA extends 类名1 {}      // final修饰 该类不能再继承
sealed classB extends 类名1 {}	   // sealed修饰 该类必须制定其他类继承,需要再设置
non-sealed classC extends 类名1 {} // non-sealed修饰 该类没有任何限制了
// 目前在jdk16正式使用

新版本注意事项

  1. 被新版本绑定,如果使用13,那么13,14,15,16,17也会采用,因为官方稳定版本是8和11,每4个月不再维护
  2. 升级的绊脚石,考虑2年后的开发工具、项目的开发维护成本
  3. 云、部署是否支持
  4. 第三方厂商,目前Spring是支持的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值