2023年JDK要升级到多少?看看七家大模型给的答案

news2025/2/9 6:46:42

前言

在2023年很多公司应该还在用JDK8,目前JDK已经更新到JDK20,JDK21也将在2023年9月发布,那么在2023年如果我们要升级JDK,到底升级到哪个版本比较合适呢?这个问题我们可以交给大模型,看看各家大模型是怎么回答的。我分别测试了ChatGPT、Bing、Google Bard、阿里通义千问、百度文心一言、科大讯飞星火、清华ChatGLM-6B,这里要说明的是清华的ChatGLM-6B是自己部署的,结果仅供参考。

JDK当前现状

以下是一份《2023年Java开发者生产力报告》,从报告来看2023年JDK8市场份额仍然排在第一位
2023年Java开发者生产力报告

2023年Java开发者生产力报告

以下是一张JDK9到JDK21各版本发布时间及支持时间节点,JDK8主版本已经不更新了,不过还是可以安全使用到2030年的,
>JDK版本路线图

JDK版本路线图

不幸运的是, JDK8在JDK8u202之后商业用途就开始收费了。
JDK8u202之后开始收费

JDK8u202之后开始收费

问题:请推荐2023年JDK8最好升级到JDK哪个版?并给我5个推荐理由

ChatGPT

截止到我所了解的信息(2021年9月),最新的JDK版本是JDK 17。因此,如果您计划升级JDK 8,我强烈推荐升级到JDK 17,并提供以下五个理由:

  1. 最新特性和改进:JDK 17带来了许多新的特性和改进,如Sealed Classes、Pattern Matching for Switch、新的垃圾收集器、性能优化等。这些功能可以提升开发人员的效率和应用程序的性能。
  2. 安全性增强:JDK 17引入了一些新的安全性增强功能,包括向量API、强密码支持、加密算法改进等。这有助于保护您的应用程序和数据免受潜在的安全威胁。
  3. 性能改进:JDK 17通过改进垃圾收集器、JIT编译器和本地代码生成等方面进行了性能优化。这可以使您的应用程序在运行时更高效、更快速。
  4. 长期支持(LTS):JDK 17是一个长期支持版本,将获得长时间的支持和维护。这意味着您可以获得长期的Bug修复、安全更新和技术支持,从而确保您的应用程序的稳定性和安全性。
  5. 社区活跃度:JDK 17作为最新版本,将得到广泛的关注和支持。这意味着您可以轻松找到关于JDK 17的文档、教程、解决方案和社区支持,以帮助您更好地理解和应用这个版本。

请注意,随着时间的推移,JDK的版本可能会有更新。在您做出决策之前,建议您查阅当前时间的信息和相关资源,以了解最新的JDK版本和变化。

小结

ChatGPT的回答如同教科书式的,首先是没有一个错误,也没有胡扯乱编,给的5个升级到JDK17的理由也是非常合理的。

Bing

建议您将JDK8升级到JDK17。JDK17是目前Java最新的LTS版本,升级到Java 17版本可以带来许多好处,包括性能、安全性和功能方面的改进,同时也能够提供更长久的支持周期 。以下是升级到JDK17的5个理由:

  1. 性能提升:JDK17中包含了许多性能优化,例如:JIT编译器的改进、垃圾回收器的改进等等。这些优化可以提高应用程序的性能。
  2. 安全性提升:JDK17中包含了许多安全性改进,例如:加强了TLS支持、加强了XML处理、加强了Java Flight Recorder等等。这些改进可以提高应用程序的安全性。
  3. 新特性增加:JDK17中包含了许多新特性,例如:Sealed类、Pattern Matching for instanceof、Switch Expressions等等。这些新特性可以提高应用程序的开发效率。
  4. 更长久的支持周期:JDK17是一个LTS版本,它将会得到长达8年的支持周期 。
  5. Spring Boot 3.0支持:如果您想要使用Spring Boot 3.0开发应用程序,则需要将正在使用的Java 8或Java 11升级到Java 17 。

希望这些信息对您有所帮助!🙂

小结

微软的Bing回答可以媲美ChatGPT了,毕竟是同一家的,可以看出对JDK17总结的很好,也没有啥错误。

Google Bard

当然,以下是我建议在 2023 年升级到 JDK 17 的 5 个原因:

  1. JDK 17 是 Java 的最新版本。 它于 2022 年 9 月发布,包括许多新功能和改进。
  2. JDK 17 是一个长期支持 (LTS) 版本。 这意味着它将支持 8 年。
  3. JDK 17 比 JDK 8 更高效。它使用更少的内存和 CPU 资源,从而提高性能并降低成本。
  4. JDK 17 支持新的特性和功能。 例如,它包括对新的 HTTP/3 协议的支持,可以提高 Web 应用程序的性能。
  5. JDK 17 与其他 Java 平台的兼容性更高。 它可以运行在比 JDK 8 更广泛的操作系统和硬件平台上。

总体而言,我认为 JDK 17 是 2023 年升级到的最佳 Java 版本。它与 JDK 8 相比具有许多优势,包括最新版本、支持 LTS、更高效、支持新功能以及更多 与其他 Java 平台兼容。

以下是有关 JDK 17 中的新功能和改进的一些其他详细信息:

  • HTTP/3 支持:JDK 17 包括对新的 HTTP/3 协议的支持,可以将 Web 应用程序的性能提高多达 30%
  • 预览功能:JDK 17 包含许多尚未完全支持但可用于试验新技术的预览功能。 这些功能包括Records 、Pattern Matching for instanceofSealed类。
  • 安全更新:JDK 17 包含针对先前版本 Java 中发现的许多漏洞的安全更新。

如果你目前使用的是 JDK 8,我建议尽快升级到 JDK 17。 JDK 8 不再受支持,并且不会收到任何安全更新或错误修复。 通过升级到 JDK 17,您可以确保您的 Java 应用程序是安全的和最新的。

小结

Google Bard也是推荐升级到JDK17,但是这个回答就比较差了,还有很多错误

  • JDK17并不是Java最新版本,2023年6月JDK最新版本是JDK20
  • JDK17并没有支持HTTP/3,再说Web应用程序性能提高30%这个结论也不知哪里来的
  • Records 、Pattern Matching for instanceofSealed类这些功能已经不是预览功能了
  • JDK8会支持到2030年,没有说JDK8不再受支持,只是主版本不更新,安全修复还是会支持的。
    总体感觉Google Bard回答还是比较差的,没有对JDK17特性总结,而且还出现很多错误。

百度-文心一言

尽管Java 8已经发布多年,但仍然有很多开发人员和公司使用它。如果你想升级JDK版本,我的建议是尽快升级到Java 11。以下是5个理由:

  1. 长达10年的支持生命周期Java 8已于2019年停止更新和支持,而Java 11是当前最新版本,且具有长达13年的支持生命周期。这意味着你将能够获得最新的安全更新和功能改进,同时也可以确保你的软件在未来几年内得到支持。
  2. 性能和可靠性提升:每个新的Java版本都会带来性能和可靠性的提升。Java 11也不例外,它引入了许多优化和改进,包括JIT编译器和垃圾收集器的改进,以及一些库的增强。这些改进可以提高你的应用程序的性能和可靠性。
  3. 更好的代码体验:Java 11引入了一些新的功能,例如本地变量推断、switch语法的改进、泛型数组的改进等。这些功能可以提高你的代码质量和可读性,使你的代码更容易编写和维护。
  4. 向前兼容性:Java 11向下兼容Java 8的API,因此升级应该相对容易。你的代码在Java 11中应该可以继续正常运行,而不需要做任何修改。
  5. 工具和框架的支持:许多开发工具和框架都已经开始支持Java 11。例如,Spring Framework已经官方支持Java 11,IntelliJ IDEA也已经原生支持Java 11。这意味着你将更容易找到有关Java 11的教程、示例和其他资源,并且可以使用最新的工具和框架来开发你的应用程序。

总之,如果你还没有升级JDK版本,我建议你尽快升级到Java 11。它将带给你更好的性能、可靠性和代码体验,以及更长的支持生命周期和更好的工具和框架支持。

小结

百度文心一言推荐升级到JDK11,给的5点理由看起来还是比较专业的,不过也是有错误的

  • JDK8并不是于2019年停止更新和支持,JDK11也不是2023年最新的版本
  • 本地变量推断var应该是JDK10引入的,泛型数组应该是指JDK11升级的Collection.toArray()方法

总的来看百度文心一言回答还是可以的,至少对JDK11给的5点升级理由总结的像模像样。

科大讯飞-星火

2023年JDK8已经是一个相对较旧的版本,因此升级到较新的JDK版本将有助于提高开发效率和应用程序性能。根据Java的发展路线图,我建议您考虑升级到JDK15。以下是5个推荐理由:

  1. 新特性与改进:JDK15引入了许多新特性和性能改进,如Switch表达式、文本块、Records等,这些特性可以提高代码的可读性和编写效率。
  2. 安全性提升:JDK15对许多安全漏洞进行了修复,提高了Java应用程序的安全性能。
  3. 跨平台支持:JDK15为Java在不同平台上提供了更好的支持,包括Windows、macOS和Linux等操作系统。
  4. 性能优化:JDK15针对一些关键场景进行了性能优化,例如垃圾回收器、线程池等,从而提高了应用程序的运行速度和响应能力。
  5. 长期支持(LTS):JDK15被选为长期支持(LTS)版本,意味着在未来几年内,您可以继续使用这个版本进行开发和部署,无需担心版本更新带来的不稳定性问题。

总之,升级到JDK15将有助于提高您的Java开发体验和应用程序性能。当然,根据您的项目需求和团队实际情况,您也可以考虑其他较新的JDK版本。

小结

科大讯飞推荐了JDK15,给的5个理由错误也是有错误的

  • JDK12引入Switch Expressions
  • 应该是macOS/AArch64 Port提供更好的支持
  • JDK15是non-LTS

阿里-通义千问

2023年JDK8最好升级到JDK 17。以下是5个推荐理由:

  1. JDK 8是一个长期支持的版本,最后一次更新是在2020年,因此它的安全性和稳定性已经得到了充分的验证。
  2. JDK 17是目前最新的JDK版本,它具有许多新特性和功能,例如Java 17中引入的Lambda表达式、接口默认方法、方法引用等等。这些新特性和功能可以使您的代码更加简洁、易读和易维护。
  3. JDK 17还具有许多重要的安全更新和修复,例如对数据流和ASCII字符串的安全性更新,以及对JDK内存管理器的多个安全修复。
  4. JDK 17还增加了对一些新的硬件架构的支持,例如ARM64和x86_64架构。这意味着您可以使用这些新的硬件架构来编写更快、更高效的代码。
  5. 最后,JDK 8是免费提供的,您可以在官方网站上下载和安装它。此外,JDK 8的开发人员社区非常活跃,您可以在Stack Overflow等社区中找到许多有用的资源和帮助。

综上所述,JDK 8是一个功能丰富、安全可靠、性能优异、支持新硬件架构的Java版本,值得您升级到它。

小结

阿里通义千问的回答也是醉了,推荐是JDK8升级到JDK17,结果又说JDK8的的特性,说JDK17里引用Lambda表达式,感觉这个回答像是全文搜索一样,只要是把包含JDK8、JDK17、升级关键字搜索出来而已。

清华ChatGLM-6B

推荐升级到 Java 8 的版,因为以下原因:

  1. 更好的性能:Java 8 引入了 lambda 表达式、Stream API 和元数据 API 等新特性,使得代码更简洁、更高效。
  2. 支持多线程:Java 8 支持多线程,使得编写并发程序更加容易。
  3. 更好的安全性:Java 8 引入了异常处理和安全性增强的特性,使得编写安全的 Java 应用程序更加容易。
  4. 更多的库:Java 8 引入了更多的库,包括 Apache Commons、Oracle 的 HttpClient 等,使得开发更加容易。
  5. 更好的兼容性:Java 8 与 Java 7 具有相同的兼容性,因此可以与 Java 7 的应用程序一起运行

以下是推荐的 Java 8 版:

  1. Java 8 版:Java SE 8,由 Oracle 发布。
  2. Java 8 版:Java SE 8 的第二个正式版本,由 Oracle 发布。
  3. Java 8 版:Java SE 8 的第三个正式版本,由 Oracle 发布。
  4. Java 8 版:Java SE 8 的第四个正式版本,由 Oracle 发布。
  5. Java 8 版:Java SE 8 的第五个正式版本,由 Oracle 发布。
    推荐升级到 Java 8 的版,因为 Java 8 具有更好的性能、安全性、多线程支持、库和兼容性。

小结

清华这个ChatGLM-6B可能只是自己部署了一下,感觉全是在胡说。

总结

总的来看ChatGPT和微软的Bing是最好的,推荐升级到JDK17也是比较合理的,给个5个理由也很好,也没有什么错误。Google Bard就让人有点失望的,感觉Google不应该是这水平,不过有个前提是Google Bard目前不支持中文,我是将问题翻译成英文后提交,再将回答的英文翻译成中文的,可能和这个有点关系。国内的百度文心一言、科大讯飞星火虽然比不上ChatGPT、Bing,不过总体感觉也是相当不错,阿里通义千问感觉和自己部署的清华ChatGLM-6B一个水平。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/646138.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用Jemeter对HTTP接口压测

我们不应该仅仅局限于某一种工具,性能测试能使用的工具非常多,选择适合的就是最好的。笔者已经使用Loadrunner进行多年的项目性能测试实战经验,也算略有小成,任何性能测试(如压力测试、负载测试、疲劳强度测试等&#…

MySQL表CRUD

目录 一、Create 1.1 单行数据全列插入 1.2 多行数据指定列插入 1.3 插入否则更新 1.4 替换数据 二、Retrieve 2.1 SELECT列 2.2 WHERE条件 2.3 结果排序 2.4 筛选分页结果 三、Update 四、Delete 4.1 删除数据 4.2 截断表 五、插入查询结果 六、聚合函数 七…

IM相关技术

messages表 保存的消息记录(Saved Messages) bff,session TON以及tdlib 官方版设置中文 tg://setlanguage?langclassic-zh-cn https://web.telegram.org/k/ https://web.telegram.org/a/ https://github.com/TGX-Android https://github.com/NekoX-Dev/NekoX, 内置公共代理不…

C++类与对象(上)

类与对象(上) 1.面向过程与面向对象初步认识2.类的引入3.类的定义4.类的访问限定符以及封装4.1访问限定符4.2 封装 5.类的作用域6.类的实例化7.类对象模型7.1计算类对象的大小7.2类对象的存储方式的猜想 8.this指针8.2this指针的特性 1.面向过程与面向对…

JavaWeb之JSP

文章目录 JSP的基本介绍JSP的本质JSP的三种语法JSP头部的page指令language属性contentType属性image.pngpageEncoding属性import属性autoFlush属性 - 给out输出流使用buffer属性 - 给out输出流使用errorPage属性isErrorPage属性session属性extends属性 JSP中的常用脚本声明脚本…

贸易企业缺进项严重,如何减轻13%的增值税税负?

贸易企业缺进项严重,如何减轻13%的增值税税负? 《税筹顾问》专注于园区招商,您的贴身节税小能手,合理合规节税! 贸易企业的增值税税负很重,这不仅是因为13%的高额增值税税率,也因为贸易企业缺进…

K8s 部署 Apache Kudu 集群

一、K8s 部署 Apache Kudu 集群 安装规划 组件replicaskudu-master3kudu-tserver3 1. 创建命名空间 vi kudu-ns.yamlapiVersion: v1 kind: Namespace metadata:name: apache-kudulabels:name: apache-kudukubectl apply -f kudu-ns.yaml查看命名空间: kubectl …

傻白入门芯片设计,形式化验证方法学——AveMC工具学习(二十)

一、形式验证方法学 (一)什么是形式化验证? 形式化验证方法学是使用数学证明的方法,分析设计中所有可能的状态空间来验证设计是否符合预期。形式化验证方法主要有三个方面的应用:定理证明、模型检验和等价性检查。 …

让你不再疑惑语音翻译怎么弄

语音是人类交流的一种最基本的方式,但是当我们需要和来自不同国家或地区的人交流时,语言的限制往往让我们感到无力。然而,如今的语音翻译技术正在以惊人的速度发展,使得我们的声音可以轻松地跨越语言的界限。那么,你知…

强化学习:蒙特卡洛方法(MC)

引入蒙特卡洛方法例子 以抛硬币为例,将结果(正面朝上或反面朝上)表示为作为随机变量 X X X ,如果正面朝上则 X 1 X1 X1 ,如果反面朝上,则 X − 1 X-1 X−1,现在要计算 E [ X ] E[X] E[X]。    我们通常很容易…

JDK常用的数据类型【1】 ——HashMap(分享篇)

x mod 2^n x & (2^n - 1) 1. 拿到 key 的 hashCode 值 2. 将 hashCode 的高位参与运算,重新计算 hash 值 3. 将计算出来的 hash 值与 (table.length - 1) 进行 & 运算数据结构 1.B树 和 B树 B树叶子节点可以存放多个元素B树的叶子节点之间是有指针的 红…

网络安全|渗透测试入门学习,从零基础入门到精通—收集信息篇

目录 前面的话 1、收集域名信息 1.1、Whois查询 ​编辑1.2、备案信息查询 2、收集敏感信息 3、收集子域名信息 3.1、子域名检测工具 3.2、搜索引擎枚举 3.3、第三方聚合应用枚举 3.4、证书透明度公开日志枚举 本章小结 前面的话 本人喜欢网络完全的一些知识&#xff…

老油条辞职信写好了,00后卷王的自述,我难道真的很卷?

前言 前段时间去面试了一个公司,成功拿到了offer,薪资也从12k涨到了18k,对于工作都还没两年的我来说,还是比较满意的,毕竟一些工作3、4年的可能还没我高。 我可能就是大家说的卷王,感觉自己年轻&#xff0…

出现报错Invalid bound statement (not found): xxx.xxxMapper.方法名 时的几种异常排除方法

报错信息:Invalid bound statement (not found): com.ruoyi.enterpriseman.trade.mapper.TradeEnterpriseMapper.selectTradeEnterpriseList 1.mapper.xml中的namespace和实际的mapper文件不一致 这个问题其实很好解决,瞪大眼睛,仔仔细细看看…

[SSM]Maven详解

目录 Maven 自动化构建工具 Maven简介 Maven的核心概念 maven约定的目录结构 仓库 POM文件 生命周期、命令、插件 Maven在IDEA中的应用 IDEA集成maven IDEA创建Maven版java工程 IDEA创建Maven版web工程 IDEA中导入Maven工程(module) 依赖管理…

Windows 离线安装mysql5.7

一、下载MySQL5.7最新版 1、官网地址 https://downloads.mysql.com/archives/community/ 2、下载MySQL5.7最新版 下载下图所示的安装包: 二、安装MySQL5.7 1、解压 将刚才下载压缩包解压搭配目录C:\software\mysql-5.7.41,(路径大家可…

背完这195道软件测试面试题,帮你轻松拿下提前批offer

前言: 最近在整理字节,阿里,腾讯,京东的面试题,挑了一部分在四个大厂面试题中出现频率比较高的,发现还是基础知识比较多,废话不多说,你们自己看看,这里小编只放了面试题&…

电动超声波硅胶洁面仪单片机开发方案

近来,网红超声波洁面仪受到人们喜爱,特别是爱化妆的女性朋友,常用来清洁脸部肌肤。在本方案中,洁面仪IC采用宇凡微YF单片机,我们提供多种洁面仪方案,根据不同功能需求有多个洁面仪芯片可供选择。 一、超声波…

价值5k的软件测试企业级实战项目,只为了回答你软件测试如何学!

学习软件测试如何学,在回答这个问题之前,我先分析下,在企业中做项目整个测试流程是什么样的,你清楚了整个企业的测试流程,就会清楚企业做测试需要什么?从而也就会明白如何去学测试。 1、需求: …

JDBC --- Java的数据库编程

目录 🍈一、数据库编程的必备条件 🍉二、什么是 JDBC JDBC 的优势 🍊三、JDBC 使用流程 以及 常用接口和类的讲解 🍡0. 前置工作 🍭1. 引入依赖 🍬2. 数据库连接Connection 🍬3. 创建操…