具体升级过程和公司应用部署情况有关,内网有总结文章,在这里就不赘述。这里简单记录一下升级的收益。

性能提高

image.png

GC 优化

G1在JDK11中已经成熟,替换CMS成为默认GC,并且CMS会在Java14中正式废弃。GC停顿时间减少

image.png

内存降低

String 类型底层实现由 char 类型(2个字符) 改成了 byte 类型(1个字符)

语法升级

附几个我很喜欢的 JDK 语法:

  • List.of:jdk9
  • List.copyOf:jdk10
  • String.strip():jdk11 ```java List list = List.of(“Java11 “, “ pandora boot “, “ test “);

List.copyOf(list).forEach((var s) -> log.info((“Hello, “ + s.strip()))); ```