前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >JDK 17新特性,已发布!程序员:不想追了... ...

JDK 17新特性,已发布!程序员:不想追了... ...

作者头像
搜云库技术团队
发布于 2021-11-19 08:10:28
发布于 2021-11-19 08:10:28
1.6K00
代码可运行
举报
运行总次数:0
代码可运行

Java 17 已正式发布,该版本是自Java 11以来的首个长期支持版本。Oracle 还提议将 JDK LTS发布的节奏从每三年一次改为每两年一次,并且每个LTS 版本的服务时间至少8年以上。Java 版本通常是6个月一更新,时间分别在3月和9月,而这些版本的支持时间基本在半年左右。

Java各个版本的生命周期

注 意

文末有:7701页互联网大厂面试题

据Oralce官博透露,虽然6个月版本的使用人数在增长,但大部分组织及企业更倾向于把LTS版本用在生产环境中,从而得到更加稳定可靠的服务。这一点从Snyk发布的2021 Java社区报告中也可以得到证实,虽然有61.5%的人在生产中使用Java 11,但仍有一半的Java 11用户(目前使用最多的版本)在他们的生产堆栈中使用Java 8。

Oracle 推出 Free Java License

截图自Oracle官博

自Java被Oralce收购以后,付费JDK就一直被人诟病,现在好了,Oracle 宣布推出JDK免费服务。什么意思呢?让我们来看一下官方解释:

1、Oracle正在为行业提供免费的,领先的Oralce JDK,包括所有季度安全更新,并包含商业和生产用途。

2、新许可是“Oracle 免费条款和条件”(NFTC) 许可。此Oracle JDK许可证允许所有用户免费使用,甚至可以用于商业和生产用途。只要不收费,再分发是允许的。

3、开发人员和组织现在无需点击即可轻松下载、使用、共享和重新分发 Oracle JDK。

4、Oracle 将从Oracle JDK 17开始提供这些免费版本和更新,并在下一个 LTS 版本之后继续提供整整一年。以前的版本不受此更改的影响。

5、Oracle 将继续按照自 Java 9 以来的相同版本和时间表提供GPL下的Oracle OpenJDK 版本。

总结成一句话,“免费”也并不意味着开发者可以随心所欲,因为Oracle的 NFTC 是禁止付费重新分发其 Java 软件

而在Java 17正式发布之前,Java开发框架Spring率先在官博宣布,Spring Framework 6和Spring Boot 3计划在2022年第四季度实现总体可用性的高端基线:

1、Java 17+(来自 Spring Framework 5.3.x 线中的 Java 8-17)

2、Jakarta EE 9+(来自Spring框架5.3.x 线中的 Java EE 7-8)

通过实际行动来支持 Java 17,间接呼吁开发者,是时候使用 Java 17了。

要不要升级呢?Java 17 到底有多快?

看到如此诚意满满的更新,开发者到底要不要升级呢?尽管只需切换JDK即可体验Java 17。对此,OptaPlanner网站做了一项基准测试:Java到底有多快?通过比较 JDK 17、JDK 16 和 JDK 11 来告诉你答案。

基准方法

硬件:一个稳定的机器不运行任何其他的计算要求苛刻的流程,配置:Intel® Xeon® Silver 4116 @ 2.1 GHz (12 cores total / 24 threads)和128 GiBRAM内存,运行RHEL 8 x86_64。

JDK版本

JDK 11

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
openjdk 11.0.12 2021-07-20
OpenJDK Runtime Environment Temurin-11.0.12+7 (build 11.0.12+7)
OpenJDK 64-Bit Server VM Temurin-11.0.12+7 (build 11.0.12+7, mixed mode)

JDK 16

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
openjdk 16.0.2 2021-07-20
OpenJDK Runtime Environment (build 16.0.2+7-67)
OpenJDK 64-Bit Server VM (build 16.0.2+7-67, mixed mode, sharing)

JDK 17

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
openjdk 17 2021-09-14
OpenJDK Runtime Environment (build 17+35-2724)
OpenJDK 64-Bit Server VM (build 17+35-2724, mixed mode, sharing)

JVM 选项:-Xmx3840M并明确指定垃圾收集器:

-XX:+UseG1GC 对于 G1GC,低延迟垃圾收集器(所有三个 JDK 中的默认值);

-XX:+UseParallelGC 对于 ParallelGC,高吞吐量垃圾收集器。

Main class:org.optaplanner.examples.app.GeneralOptaPlannerBenchmarkApp 来自optaplanner-examplesOptaPlanner 中的模块8.10.0.Final。

1、每次运行都使用 OptaPlanner 解决 11 个规划问题,例如 员工排班、 学校时间表和云优化。每个规划问题运行 5 分钟。日志记录设置为INFO。基准测试以 30 秒的 JVM 预热(warm up)开始,随后丢弃。

2、解决规划问题不涉及IO(除了在启动期间加载输入的几毫秒)。单个CPU完全饱和。它不断地创建许多短期存在的对象,然后 GC 将它们收集起来。

3、基准衡量每秒计算的分数数量,越高越好。为测试计划规划的解决方案计算分数并非易事:它涉及许多计算,包括检查每个实体与每个其他实体之间的冲突。

运行次数:每个JDK 和每个垃圾收集器组合按顺序运行 3 次。下面的结果是这 3 次运行的平均值。

测试结果

Java 11 (LTS) 和 Java 16 与 Java 17 (LTS)

表 1. 在不同 JDK 上使用 G1GC 的每秒计算得分

表 2. 在不同 JDK 上使用 ParallelGC 的每秒计算得分

备注:

查看 3 次单独运行的原始数据(此处未显示),机器重新分配数(B1 和 B10)在同一 JDK 和 GC 上的运行之间波动很大,通常超过10%,其他数字不会受到这种不可靠性的影响。

可以以说忽略 Machine Reassignment numbers 更好。但是为了避免挑选数据的问题,这些结果和平均值确实把它们包括进来了。

Java 17 上的 G1GC 与 ParallelGC

表 3.JDK 17 下不同 GC 每秒的计算得分

基准测试总结

1、平均而言,以 OptaPlanner 为例的基准测试结果表明:

2、对于 G1GC(默认),Java 17 比 Java 11 快 8.66%,比 Java 16 快 2.41%。

3、对于 ParallelGC,Java 17 比 Java 11 快 6.54%,比 Java 16 快 0.37%。

4、Parallel GC 比 G1 GC 快 16.39%。

多说一句

在基于 JDK 15 的基准测试中,Java 15 比 Java 11 快 11.24%。现在,Java 17 相对于 Java 11 的增益更少。这是否意味着 Java 17 比 Java 15 慢?

答案是否定的,Java 17 依然比 Java 15 快,因为之前的那些基准测试是在不同的代码库上运行的(OptaPlanner 7.44 而不是 8.10)。不要拿橙子与苹果作比较,不具有可比性。

结论

总而言之,JDK17 的性能表现还是非常值得升级的,至少于OptaPlanner Demo 而言。

此外,这些用例最快的垃圾收集器仍然是ParallelGC, 而不是G1GC(默认)。

作为3年后首次发布的LTS版本的Java 17给你带来了哪些惊喜?面对Go、Kotlion等JVM的强势发展,你觉得Java还能保持霸主地位吗?

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-11-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 架构师技术栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
Steam Achievement Manager解锁STEAM游戏成就
使用过STEAM的玩家应该都知道大部分STEAM平台发行的游戏都是有成就系统的,而且对于部分游戏而言,解锁成就还可以获得游戏内的奖励。但既然被称之为“成就”,自然也不是那么好获得的,而全成就更是费时费力。正所谓有需求就有市场,国外有玩家制作了一款名为Steam Achievement Manager(简称SAM)的小工具,能够全自动解锁STEAM成就。
reizhi
2022/09/26
10.7K0
Steam Achievement Manager解锁STEAM游戏成就
Steam高赞游戏入门机器学习!不写代码,人人可玩,又能吸猫,汉化版已推出
这一游戏,名为《while True: learn()》 是个解谜/模拟类游戏,涵盖了机器学习、神经网络、大数据、人工智能的丰富知识点和实用方法。
量子位
2019/06/20
1.6K0
Steam高赞游戏入门机器学习!不写代码,人人可玩,又能吸猫,汉化版已推出
为Steam游戏库开启家庭共享
Steam 作为时下最大的数字发行品台之一,周期性的特价促销为其带来了极高的人气。在去年的早些时候,Steam 开始支持支付宝,更进一步方便了国人够买。 自去年九月起,Steam 开始允许玩家与其家人
reizhi
2022/09/26
2.1K0
为Steam游戏库开启家庭共享
用CrossOver安装游戏后如何运行?CrossOver怎么安装steam游戏?
许多用户认为苹果电脑更适合办公、剪辑等专业用途,但现在它也可以用来玩各种游戏,包括一些大型游戏。Mac用户现在有多种方式运行Windows平台上的游戏,比如通过虚拟机、云游戏平台,或者使用CrossOver这样的兼容软件。
逐梦岛
2025/06/21
2370
用CrossOver安装游戏后如何运行?CrossOver怎么安装steam游戏?
苹果电脑 steam 游戏打不开怎么办?Mac 版的 steam 连接报错的原因
Steam 是国内外比较知名的大型游戏平台,集游戏购买、下载、更新、社区互动及多人在线联机功能于一体,为全球数亿玩家提供服务。但由于Mac和Windows系统之间存在差异,许多 Mac 用户在安装 Steam 时,可能会遇到【无法打开应用程序】【连接失败】等报错问题。本文将为大家介绍 Mac 版 steam 连接报错,Mac 安装不了 steam 游戏等相关问题。
逐梦岛
2025/06/23
2100
苹果电脑 steam 游戏打不开怎么办?Mac 版的 steam 连接报错的原因
渣电脑也能玩VR游戏?Steam VR推出分辨率自动优化功能
我们都知道,VR游戏的高配置要求,一直是许多想体验VR游戏玩家的心中之痛,GTX 970几乎是所有VR游戏的最低配置要求。Steam VR似乎意识到了这一点,并于今日为渣电脑的用户带来了一个福音。
VRPinea
2018/05/18
1.5K0
上架 Steam 一周的付费游戏,在 GitHub 开源了!
最近,一位开发者把自己在 Steam 上的游戏 ——SNKRX 开源了,这一举动引发了网友们的关注。
逆锋起笔
2021/07/19
1.3K0
上架Steam一周的付费游戏,开源了!其实你能“薅”的不止一只羊
最近,一位开发者把自己在Steam上的游戏——SNKRX开源了,这一举动引发了网友们的关注。
量子位
2021/06/17
6870
L4D2服务器最全搭建教程
把家里的老笔记本拉出来装了个ubuntu做了服务器,然后想着搭建一些游戏服务器,毕竟就在旁边,延迟会很低。
小N同学
2022/03/01
4.9K0
L4D2服务器最全搭建教程
用Node.JS分析steam所有的游戏!
最近 Steam 玩得比较多,早晨突然想到一个有趣的问题:买下 Steam 所有游戏要花多少钱?
Jean
2018/10/11
2.7K0
C++ 的继任者:Carbon Language | 开源日报 0911
Carbon Language 是一个实验性的 C++ 继任者项目。它旨在提供与 C++ 相当的性能,并具有低级访问位和地址的功能,以及与现有 C++ 代码进行互操作、快速可扩展构建等特点。该项目还强调了以下核心优势:
小柒
2023/09/14
4580
C++ 的继任者:Carbon Language | 开源日报 0911
Hexo-neat插件优化提升访问效率
对于任何一个网站来说,优化页面的访问速度是必须的,个人来说,只要加载页面十秒以上或长时间处于空白或加载状态,我会立刻关掉此页面的。你又能容忍几秒呢?
用户6808043
2022/02/25
2.1K0
Hexo-neat插件优化提升访问效率
开源游戏引擎:创造无限可能 | 开源专题 No.56
Godot Engine 是一个功能强大的跨平台游戏引擎,可用于创建 2D 和 3D 游戏。它提供了一套全面的常见工具,让用户可以专注于制作游戏而不必重复造轮子。该引擎支持将游戏一键导出到多个平台上,包括主要桌面平台 (Linux、macOS、Windows)、移动平台 (Android、iOS) 以及基于 Web 和控制器的平台。
小柒
2023/12/26
5490
开源游戏引擎:创造无限可能 | 开源专题 No.56
2017 面向游戏玩家的八款最佳 Linux 发行版
十一小长假到了,不知各位有什么安排呢?如果不想去外面添堵,在家玩一些小游戏也是不错的选择。面向 Linux 的游戏在过去几年中发生了很大的变化,现在已经有数十种发行版为游戏玩家进行了重点优化。 接下来,推荐几款最新的,也是经过测试挑选后选择出来的最好的面向游戏玩家的 Linux 发行版。 1、SteamOS SteamOS 似乎总是排在各个 Linux 游戏发行版列表的第一个。它专为游戏设计考虑,预装了 Steam,基于 Debian。 默认情况下,SteamOS 仅安装 Steam,但你也可
小小科
2018/05/02
2.8K0
2017 面向游戏玩家的八款最佳 Linux 发行版
SteamOS 是什么?关于这款“游戏发行版”你所要知道的事
SteamOS 是一款基于 Linux 的操作系统,旨在提供来自 Steam 自己的游戏商店顺滑的游戏体验。
用户1880875
2021/09/07
2K0
万字长文:AI陪伴产品的终极解法?
导语|此篇文章是本人及多名朋友联合 产品人Super黄 共同创作的深度长文,欢迎对这个话题感兴趣的各位“浩浩爸”们疯狂戳戳俺,一起讨论交流~
腾讯大讲堂
2024/01/03
1.1K0
万字长文:AI陪伴产品的终极解法?
最佳 Linux 发行版汇总
Linux入门 Ubuntu Ubuntu是一款基于Debian发行版,以Unity作为默认桌面环境的Linux操作系统。他是世界上最流行的发行版之一,最新发行版为桌面、移动及其桌面移动混合版的优化。
小小科
2018/05/04
7.1K0
最佳 Linux 发行版汇总
社区10款年度优秀游戏资源盘点!
以下游戏资源排名不分先后,Cocos Store 年终元旦限时优惠进行中......
张晓衡
2023/02/23
1K0
社区10款年度优秀游戏资源盘点!
解决方案:幻兽帕鲁Palworld私服部署 一杯茶的功夫搭建部署一个属于自己的游戏私服
《幻兽帕鲁》是Pocketpair开发的一款开放世界生存制作游戏 ,游戏于2024年1月18日发行抢先体验版本,游戏中,玩家可以在广阔的世界中收集神奇的生物“帕鲁”,派他们进行战斗、建造、做农活,工业生产,游戏目前已呈现现象级火爆的趋势。
中杯可乐多加冰
2024/04/25
2840
国内游戏大厂相继放出大招,开放世界手游或将结束一家独大
(VRPinea 11月17日讯)近日,腾讯旗下天美工作室首次放出《王者荣耀》IP新游《王者荣耀·世界》的实机演示,标志着腾讯正式加入开放世界手游的战场。而隔壁的完美世界也坐不住了,连忙宣布了《幻塔》即将进入最终测试。如今《原神》可以说在开放世界手游的市场上一家独大,在最近的10月流水中,原神仅仅依靠公子池返场也能狂砍2.53亿人民币流水。这让国内的游戏大厂看了分外眼红,这钱不能让你米姥爷一个人挣了呀,怎么着也得37分成啊。
VRPinea
2021/11/23
4260
推荐阅读
相关推荐
Steam Achievement Manager解锁STEAM游戏成就
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档