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

2022-06-16 13:15:26 浏览数 (1)

此前,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》包邮到家!

点击阅读全文购买

0 人点赞