Java都到16了,为什么都还在用8,是越做越烂了么?

DD的博客全面升级,阅读体验更佳(尤其是系列教程),后续不再通过这里发布新文章,而是改到 www.didispace.com 发布啦,奔走相告!点击直达~

前几日 Java 16 发布了,发现还是有童鞋不太了解Java目前的版本机制,所以看到了这样的留言:

那么为什么大家都还在用 Java 8 呢?

从这张图可以一目了然,大家平时最喜欢的是什么?当然是白嫖啦~

而从JDK 8u211开始往后的版本,可都是需要商业收费的,所谓的商业收费,就是你自己开发程序使用不打紧,但是一旦当你开发的程序如果用于商业用途,也就是你的程序给你赚钱了,那此时此刻Oracle可是要跟你收费的,你的JDK的使用需要缴费获得授权才是合法的。

有的人会问,如果我不缴费直接用呢?当然,Oracle也是不知道这个事情的,天底下那么多程序员他不可能每个都时刻紧盯有没有付费。

不过万一你真的有那么点才华,你的产品越做越大,越被人熟知的话,总有一天树大招风会引起Oracle的注意,指不定哪天就来跟你打打知识产权的官司。毕竟这是Oracle的惯用手法了,小编毕业前在某视频网站(已被收购)实习的时候,就听闻有项目组因使用盗版Oarcle而收到律师信,最后被迫买了几个Lisence的教训。

这或许就是很多人用老Java 8的原因。

图中我们还可以看到,最后免费的是8u201和8u202两个版本,其实他们可以说都是拥有不同版本号的最后一个免费版本。或许很多小伙伴对这两个版本的区别也傻傻分不清,且让小编为你一一道来:

Oracle从2014年发布了Java SE 7u71版本之后,每当他在发布JDK关键补丁更新时,一般会同步发一个相应的补丁集更新版本。

关键补丁一般用代号CPUs:Critical Patch Updates表示,补丁集更新版本用代号PSUs:Patch Set Updates表示,而两者的区别在于CPUs往往包含安全漏洞修复和重要漏洞修复,是需要所有用户都及时升级更新的,版本号一般采用奇数编号。

当然了,Oracle还算一个人性化的公司,考虑到一部分码农既不想付费(主要没有那么多商业头脑,可能只是单纯的编码),又想跟上当下最新潮的JDK功能特性,所以Oracle其实还提供一个完全免费开源的版本 Open JDK给个人用户使用。在功能特性上, Open JDK与最新版本的Oracle JDK基本没什么区别。

最后小编教你一招,如何在官网找到最后一个免费版本。

那就是:

https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html

看到群里说现在现在大学都在教Java 15了,有这么超前么?你又在用哪个版本的JDK呢?加入我们的Java学习社群,一起交流学习吧!