2021-07-05 16:55

JDK13新特性

码自答

JavaEE

(790)

(0)

收藏

在了解JDK13新特性之前,先了解一下JDK的预览版(预览功能)。

预览功能:当前版本有这个功能,下一个版本不确定是否保留该功能,如果该功能效果不是很好,会在下一个版本中,移除该功能。

IntelliJ IDEA软件默认不支持对预览功能进行编译,所以,在IntelliJ IDEA开发环境使用预览功能。会提示语法错误。

例如:

"""这种写法是JDK13中间的一种写法。IDEA默认不支持,这是JDK13的预览版(预览功能)。

image.png

image.png

Project language level改成13 Preview。IDEA支持预览功能。

image.png


JDK13新特性:

1 文本块升级

JDK13之前.

String str = "万码学堂\n"+
             "wanmait\n"+
             "wanma\n";

image.png

JDK13

String str = """
             万码学堂
             wanmait
             wanma
             """;

image.png


2 switch优化

JDK13之前

String str = "";
switch(n){
    case 1:
        str = "万码学堂";
        break;
    case 2:
        str = "wanmait";
        break;
    default:
        str = "wanma";
}

字符串str的值是"wanmait"

image.png

JDK13优化之后

int n = 2;
String str = switch(n){
    case 1->"万码学堂";
    case 2->"wanmait";
    default->"wanma";
};

switch有返回值,不用写break.上面的代码也可以写成如下,yield是关键字,返回的意思。

int n = 2;
String str = switch(n){
    case 1:
        yield "万码学堂";
    case 2:
        yield "wanmait";
    default:
        yield "wanma";
};

image.png


3 ZGC垃圾回收

ZGC垃圾回收,将未使用的堆内存,返回给操作系统。


4 Socket/ServerSocket

修改Socket和ServerSocket的底层实现。


5 支持Unicode 12.1

支持12.1级别的字符库。总共137928个字符。

0条评论

点击登录参与评论