Java 13是一个新功能比较贫瘠的版本,在Java 13中增加的功能基本上都是预览版功能。
本系列的文章有:
- Java 8的新特性
- Java 9的新特性
- Java 10的新特性
- Java 11的新特性
- Java 12的新特性
- Java 13的新特性
- Java 14的新特性
- Java 15的新特性
- Java 16的新特性
- Java 17的新特性
- Java 18的新特性
- Java 19的新特性
- Java 20的新特性
- Java 21的新特性
预览功能
与之前的Java版本中的预览功能一样,Java 13中的预览功能也必须使用--enable-preview
选项在编译时手动打开。
Switch表达式
Switch表达式是在Java 12中引入的,但是在Java 13中依旧处于预览状态。这里仅展示一下新的switch表达式的用法。
|
|
按照switch表达式的设计,现在要想实现策略模式已经是非常简单的了。
文本块
文本块(Text Block)是使用三个引号括起来的文本。区别于单个引号括起来的字符串,文本块天然就是多行的。而且更加便利的一条是,可以直接在文本块中书写JSON、XML和HTML等。
|
|
动态CDS存档
CDS允许在不同的JVM之间共享类的元数据,从而可以缩短程序的启动时间和内存消耗。在Java 13中,生成CDS存档的操作变得简便了许多,只需要在程序退出的时候生成即可,而这个操作只需要在运行程序的Jar包时加一条选项。
|
|
使用上面这个命令生成的<archive file>
可以使用下面这条命令来使用。
|
|
传统套接字API的新实现
传统套接字API,诸如java.net.Socket
和java.net.ServerSocket
,在很早之前的Java版本中就已经存在了,而且在近20年中基本上没有发生过任何改变。所以在这个强调线程安全和异步的年代,这些比较古老的API就显得落后了。
Java 13中借鉴了java.nio
的内部结构,重新实现了Socket
和ServerSocket
。现在这两个类都已经在使用java.nio
系列API做底层支持了。