JDK11新特性
HTTPClient转正
JDK9中便引入httpclient模块,但它在jdk.incubator.httpclient包下,在java11被标记为正式,改为java.net.http模块。
密码学方面的改进
- 使用RFC 7748中描述的Curve25519和Curve448实现key agreement
- 实现 RFC 7539的ChaCha20 and ChaCha20-Poly1305加密算法
Java命令运行Java文件
java Haha.java直接输出javac Haha.java &&java Haha的结果。
废弃Nashorn JavaScript引擎
Nashorn被废弃,GraalVM为推荐引擎。
更灵活的String
去除空白
String text = " \u2000a b "; Assert.assertEquals("a b",text.strip()); Assert.assertEquals("\u2000a b",text.trim()); Assert.assertEquals("a b ",text.stripLeading()); Assert.assertEquals(" \u2000a b",text.stripTrailing());trim()和strip()的区别
lines()
字符串实例方法,使用专门的 Spliterator 来懒惰地提供源字符串中的行。
repeat(int)
按照参数int提供的次数来重复字符串的运行次数
isBlank()
验证当前字符串是否为空,或者是否只包括空白字符(空白字符由Character.isWhiteSpace(int)验证)
更方便的IO
Path
of(String,String...) 此前我们需要使用 Paths.get()。现在,我们像其他类一样使用 of()。
Files
writeString(Path, CharSequence)
我们可以使用该方法来保存一个 String 字符串。
我们可以使用该方法来保存一个 String 字符串。
可以使用该方法读取一个String字符串
Reader
nullReader() 使用该方法,我们可以得到一个不执行任何操作的 Reader
Writer
nullWriter() 使用该方法,我们可以得到一个不执行任何操作的 Writer
InputStream
nullInputStream() 使用该方法,我们可以得到一个不执行任何操作的 InputStream。
OutputStream
nullOutputStream() 使用该方法,我们可以得到一个不执行任何操作的 OutputStream