Java 11 新特性解读
前言
北京时间2018年9月26日,Oracle官方宣布Java 11正式发布。这是Java大版本周期变化后的第一个长期支持版本,非常值得关注。从官网即可下载,最新发布的Java11将带来ZGC、Http Client等重要特性,一共包含17个JEP(JDK EnhancementProposals,JDK增强提案)。其实,总共更新不止17个,只是我们更关注如下的17个JEP更新。
JDK 11将是一个企业不可忽视的版本。从时间节点来看,JDK 11的发布正好处在JDK 8免费更新到期的前夕,同时JDK 9、10也陆续成为“历史版本”,下面是Oracle JDK支持路线图:
JDK 11是一个长期支持版本(LTS, Long-Term-Support)
对于企业来说,选择11将意味着长期的、可靠的、可预测的技术路线图。其中免费OpenJDK11确定将得到OpenJDK社区的长期支持,LTS版本将是可以放心选择的版本。
从JVM GC的角度,JDK11引入了两种新的GC,其中包括也许是划时代意义的ZGC,虽然其目前还是实验特性,但是从能力上来看,这是JDK的一个巨大突破,为特定生产环境的苛刻需求提供了一个可能的选择。例如,对部分企业核心存储等产品,如果能够保证不超过10ms的GC暂停,可靠性会上一个大的台阶,这是过去我们进行GC调优几乎做不到的,是能与不能的问题。
新的长期支持版本每三年发布一次,根据后续的发布计划,下一个长期支持版Java 17 将于2021年发布。
官网公开的17 个JEP(JDK Enhancement Proposal 特性增强提议)
新增了一系列字符串处理方法
判断字符串是否为空白
" ".isBlank(); // true
去除首尾空白
" Javastack ".strip(); // "Javastack"
去除尾部空格
" Javastack ".stripTrailing(); // " Javastack"
去除首部空格
" Javastack ".stripLeading(); // "Javastack "
复制字符串
"Java".repeat(3);// "JavaJavaJava"
行数统计
"A\nB\nC".lines().count(); // 3
Optional 加强
Optional也增加了几个非常酷的方法,现在可以很方便的将一个Optional转换成一个Stream,或者当一个空Optional时给它一个替代的。
局部变量类型推断升级
在var上添加注解的语法格式,在jdk10中是不能实现的。在JDK11中加入了这样的语法。
- 点赞
- 收藏
- 关注作者
评论(0)