自Java 9开始每6月将会有一个新的Java版本发布出来,这个决定背后的考量是Java在Cloud Native时代竞争力逐渐减弱,如果仍然按照以前每3~4年才发一个版本的节奏,一大波开发者可能会另寻出路了,毕竟这几年Python,Go还有JavaScript发展的都太猛了。按照这项规则,Java 17将在2021年9发布 (Java16于2021年3月21日发布)。而且最重要的是Java 17将是Java 9以来的集大成者,其影响力将大大超过Java 11,在最近3年内流行程度会逐步追上Java 8并取代 Java 8成为最受欢迎的Java 版本。Java 11是 Java 9以来第一个长生命周期支持版本(LTS),然而 Java 11还并未在生产环境中得到太多的使用,尽管它已经非常不错,经过Java 9到 Java 16这么多版本的酝酿和熏陶,大多数开发者逐渐接受了模块化JDK这一革命性变化,并且开发了根据这项新技术对过去的项目做了相关的修改和适配,到目前为止相当多的开源框架已经完全兼容Java 11。 从技术上讲Java 17对 Java 11的兼容是顺滑的,因此这些框架只要兼容了Java11理论上兼容Java 17是没有问题的。 为什么 Java 17会这么重要 ? 是因为它是另外一个长生命周期版本,而且自Java 11以来积累了非常多的新特性,尤其是ZGC,无论堆内存是1个G还是1个T,它能够在10毫秒量级内完成垃圾回收动作,而G1最多可能会耗时1秒,这是两个数量级的差别。