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字符串

Reader

nullReader() 使用该方法,我们可以得到一个不执行任何操作的 Reader

Writer

nullWriter() 使用该方法,我们可以得到一个不执行任何操作的 Writer

InputStream 

nullInputStream() 使用该方法,我们可以得到一个不执行任何操作的 InputStream。

OutputStream

nullOutputStream() 使用该方法,我们可以得到一个不执行任何操作的 OutputStream