查看文章尾部
参与赠书活动
此前,Java 之父高斯林曾经发文表示可以尝试升级到 JDK17,因为JDK17是一个比 Java8 更好的版本,发文如下:
简单翻译下就是:
“对于那些仍然坚持使用 JDK8 的人,有一个包含所有最新更新和 CVE 防御的新 Corretto 版本。但是,请尽快离开 JDK8。JDK17 LTS 在各个方面都是一个巨大的飞跃。”
所以前几天大家都看到这么一条消息“Java8?Java之父都不用”!
目前Java的最新版本是Java18,于2022年3月份发布,Java19也即将在今年9月份发布,而下一个长期支持版本Java21预计将在2023年9月份发布。大家在生产实施过程中肯定需要使用稳定的Java版本,那选择必然就是LTS,也就是长期支持版本了!目前Java主要有如下几个长期支持版本:
Java 8 是2014年发布
Java 11是2018年发布
Java 17是2021年发布
但是国内很多开发者其实还都停留在Java8,为什么那么多人还在坚持用Java8呢?
作为长期支持版本的Java11在发布之后,大部分人没有选择升级,有人说,很多人坚持使用Java8的一个原因在于,Java8是作为拥有旧的Java许可证的最后一个版本,而且后续升级的很多版本拥有的新功能大部分都用不上,更有甚者,如果说对于Java8中的 lambda不需要的话,有一些程序员甚至可以坚持使用Java6!
其实Java8作为Oracle更改Java许可证之前的最后一个免费版本应该是比较重要的原因,毕竟谁都不想花钱。
2018年,Oracle改变了Java许可证的方式,简单来说,当时大家用的长期支持版本是Java8,下一个长期支持版本是Java11,但是如果你是商业使用,将Java8升级到Java11的话,那么你就需要付费!
这个时候有人就说了,那用OpenJDK啊,的确,OpenJDK是一种替代,是官方Oracle JDK的开源版本,但是存在一些问题就是OpenJDK仅对最新版本进行更改,这导致一些企业组织不愿使用OpenJDK!
而对于商业组织来说,他们更加喜欢稳定,在Java8及之前,Java更新都是比较稳定,但是从Java9开始,基本就是每半年一个版本,这个更新速度,导致很多商业组织没法跟随,因为迁移升级是一件麻烦的事情!
不过从目前的一些消息来看,大家都觉得Java8 似乎该退场了,很多人看好的则是 Java17 这个长期支持版本,比如Java之父,高斯林就公开建议赶紧升级到Java17!
那为什么是Java17呢?
首先,Java17是继Java8和Java11之后的最新的一个长期支持版本,意味着后续Oracle将对Java17进行长期的支持(8年)!!
我们看Java8和Java11,从名字上感觉过了很长,时间上中间只过了三年,非LTS版本只有六个月的支持,作为新一个LTS的Java11,大家似乎并没有那么快的适应要去升级!
7年间,从Java8到Java17中更新升级了许多功能,API的规模进一步增长,此前更新的所有特性,Java17这个全新的长期支持版本,都将适用,而使用Java8的自然无法使用,所以是不是该换了?
版本 | 年份 | 新语言特性 | 类与接口的数量 |
1 | 1996 | 语言本身 | 211 |
1.1 | 1997 | 内部类 | 477 |
1.2 | 1998 | strictfp修饰符 | 1524 |
1.3 | 2000 | 无 | 1840 |
1.4 | 2002 | 断言 | 2723 |
5 | 2004 | 泛型类、“for each”循环、可变参数、自动装箱、元数据、枚举、静态导入 | 3279 |
6 | 2006 | 无 | 3793 |
7 | 2011 | 基于字符串的Switch语句、菱形运算符、二进制字面量、异常处理增强 | 4024 |
8 | 2014 | Lambda表达式、包含默认方法的接口、流和日期/时间库 | 4240 |
9 | 2017 | 模块、其他的语言和类库增强 | 6005 |
11 | 2018 | 局部变量类型推导(var)、HTTP客户端、移除Java FX、JNLP、Java EE重叠模块和CORBA | 4410 |
17 | 2021 | Switch表达式、文本块、instanceof模式匹配、记录、密封类 | 4859 |
从Java17开始,LTS版本将由每三年发布一次的频率更改为每两年一个LTS版本的频率,这也促使大家需要尽快转向新的LTS版本!
除此之外,在JDK17中还有一项重大改变,那就是免费了!
时代在变化,科技在进步,总是要向前看的,有人说,Java17慢慢取代Java8,只是时间问题,你觉得呢?
《Java核心技术 卷I:开发基础(原书第12版)》
(点击图片查看详情)
作者:[美] 凯·S.霍斯特曼(Cay S.Horstmann)
译者:林琪,苏钰涵
书号:978-7-111-70641-0
定价:149.00元
相信在学习Java的道路上有了《Java核心技术》这本书的辅助,你一定可以做到事半功倍。
—END—
包邮送 8 本
《Java核心技术 卷I:开发基础(原书第12版)》
▲点击卡片回复「抽奖」参与
备注:最近12个月已经中奖3次或3次以上的,请勿再参加,再次中奖出版社也无法再寄送。