再见了Java8,Java17:我要取代你

语言: CN / TW / HK

此前, Java 之父高斯林曾经发文表示可以尝试升级到 JDK17 ,因为JDK17是一个比 Java8 更好的版本,发文如下:

简单翻译下就是:

“对于那些仍然坚持使用 JDK8 的人,有一个包含所有最新更新和 CVE 防御的新 Corretto 版本。但是,请尽快离开 JDK8。JDK17 LTS 在各个方面都是一个巨大的飞跃。”

所以前几天大家都看到这么一条消息 “Java8?Java之父都不用”!

目前Java的最新版本是Java18 ,于2022年3月份发布,Java19也即将在今年9月份发布,而下一个长期支持版本Java21预计将在2023年9月份发布。大家在生产实施过程中肯定需要使用稳定的Java版本,那选择必然就是LTS,也就是长期支持版本了! 目前Java主要有如下几个长期支持版本:

  1. Java 8 是2014年发布

  2. Java 11是2018年发布

  3. 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,只是时间问题,你觉得呢?

RECOMMEND

重点来了

学习Java看什么书?相信这本 《Java核心技术》 你一定不会陌生! 伴随着Java的成长,《Java核心技术》也从第1版到第11版一路走来,得到了广大Java程序设计人员的青睐,成为一本畅销不衰的Java经典图书。如今, 针对Java 17的《Java核心技术》第12版中文版终于上市 。这一版涵盖了Java 17的最新特性,相应调整了部分内容结构,同时延续之前版本的优良传统,利用清晰明了的示例加以解释,并提供了全部示例代码,以便读者学习和灵活应用。它将续写从前的辉煌,使人们能及时跟上Java前进的步伐。

《Java核心技术 卷I:开发基础(原书第12版)

(点击图片查看详情)

作者: [美] 凯·S.霍斯特曼(Cay S.Horstmann)

译者: 林琪,苏钰涵

书号: 978-7-111-70641-0

定价: 149.00

根据 Java 17 全面升级,

全球畅销20余年历久弥新,

数百万开发者共同的选择,

50位KOL联名推荐

推荐理由:Core Java 第12版经过全面修订,以涵盖Java 17的新特性。新版延续之前版本的优良传统,用数百个实际的工程案例,全面系统地讲解了Java语言的核心概念、语法、 重要特性、 开发方法。本书不仅让你深入了解设计和实现 Java 应用涉及的所有基础知识和 Java 特性,还会帮助你掌握开发 Java 程序所需的全部基本技能。相信在学习Java的道路上有了本书的辅助,你的学习一定可以做到事半功倍。

50位专家联袂推荐

激动人心的送书环节

好啦,接下来就是激动人心的送书环节啦!小伙伴们留言说说你为什么需要这本书,松哥会从留言的小伙伴中选出六位幸运小伙伴,《Java核心技术·卷I》包邮到家!

点击 阅读全文 购买