相信我,很多公司在从 1.4 升级到 8 的时候都哭晕在厕所里过。
历史问题
JDK 的选择有很多历史遗留问题。
很多公司甚至银行现在还在用 1.2 和 1.4。这是因为在很多 JAR 的开发历史中,已经没有办法维护已经编译好的 jar 的,老的源代码可能也没有办法用新 JDK 编译。
如果要将平台升级到 8,必须要求所有的老的 Jar 都要用 8 编译一次。在历史情况下,这种可能性很低,而且 Maven 平台也不是 2000 年就有了,在 2000 年的时候还有个 lib 目录的。
随着现在 API 和微服务的流行,慢慢的会在向 API 进行微服务迁移的时候使用新的 JDK 版本进行开发。
目前主流是 8 的版本,如果你使用 11 也问题不大,JDK 8 和 11 之间的差距不是非常大,没有 1.4 到 8 这么大。几乎已经大到了无法兼容编译的程度了。
LTS 版本
如很多人都知道的 LTS 版本的问题,目前只有 2 个 LTS 的版本在使用,17 的版本还没有出来呢。
综合上面的 2 个原因,新项目开发的时候自然就会选择稳定的版本。
JDK 这种比较底层的东西,越稳定越好。
再加上 OS 安装的版本主流也是这 2 个,如果是新项目用 11 没有问题。如果是老项目已经用 8 了,就不要想着升级了,反正最后支持时间都差不多。
其实 8 到 11 的升级没有那么糟糕,基本上还是比较好升的。