前语
在2023年许多公司应该还在用JDK8,现在JDK现已更新到JDK20,JDK21也将在2023年9月发布,那么在2023年假如我们要晋级JDK,到底晋级到哪个版别比较合适呢?这个问题我们能够交给大模型,看看各家大模型是怎样答复的。我别离测试了ChatGPT、Bing、Google Bard、阿里通义千问、百度文心一言、科大讯飞星火、清华ChatGLM-6B,这里要阐明的是清华的ChatGLM-6B是自己布置的,成果仅供参考。
JDK当时现状
以下是一份《2023年Java开发者生产力陈述》,从陈述来看2023年JDK8市场份额仍然排在第一位
2023年Java开发者生产力陈述
以下是一张JDK9到JDK21各版别发布时刻及支撑时刻节点,JDK8主版别现已不更新了,不过仍是能够安全运用到2030年的,
JDK版别路线图
不幸运的是, JDK8在JDK8u202之后商业用途就开端收费了。
JDK8u202之后开端收费
问题:请引荐2023年JDK8最好晋级到JDK哪个版?并给我5个引荐理由
ChatGPT
截止到我所了解的信息(2021年9月),最新的JDK版别是JDK17。因而,假如您计划晋级JDK8,我强烈引荐晋级到JDK17,并供给以下五个理由:
- 最新特性和改善:JDK17带来了许多新的特性和改善,如SealedClasses、PatternMatchingforSwitch、新的废物收集器、功用优化等。这些功用能够进步开发人员的功率和运用程序的功用。
- 安全性增强:JDK17引进了一些新的安全性增强功用,包括向量API、强密码支撑、加密算法改善等。这有助于保护您的运用程序和数据免受潜在的安全要挟。
- 功用改善:JDK17经过改善废物收集器、JIT编译器和本地代码生成等方面进行了功用优化。这能够使您的运用程序在运转时更高效、更快速。
- 长时间支撑(LTS):JDK17是一个长时间支撑版别,将获得长时刻的支撑和保护。这意味着您能够获得长时间的Bug修正、安全更新和技术支撑,然后保证您的运用程序的稳定性和安全性。
- 社区活泼度:JDK17作为最新版别,将得到广泛的关注和支撑。这意味着您能够轻松找到关于JDK17的文档、教程、解决方案和社区支撑,以协助您更好地了解和运用这个版别。
请注意,随着时刻的推移,JDK的版别或许会有更新。在您做出决策之前,主张您查阅当时时刻的信息和相关资源,以了解最新的JDK版别和变化。
小结
ChatGPT的答复如同教科书式的,首先是没有一个过错,也没有胡扯乱编,给的5个晋级到JDK17的理由也是十分合理的。
Bing
主张您将JDK8晋级到JDK17。JDK17是现在Java最新的LTS版别,晋级到Java17版别能够带来许多优点,包括功用、安全性和功用方面的改善,一起也能够供给更持久的支撑周期。以下是晋级到JDK17的5个理由:
- 功用进步:JDK17中包括了许多功用优化,例如:JIT编译器的改善、废物收回器的改善等等。这些优化能够进步运用程序的功用。
- 安全性进步:JDK17中包括了许多安全性改善,例如:加强了TLS支撑、加强了XML处理、加强了JavaFlightRecorder等等。这些改善能够进步运用程序的安全性。
- 新特性增加:JDK17中包括了许多新特性,例如:Sealed类、PatternMatchingforinstanceof、SwitchExpressions等等。这些新特功用够进步运用程序的开发功率。
- 更持久的支撑周期:JDK17是一个LTS版别,它将会得到长达8年的支撑周期。
- SpringBoot3.0支撑:假如您想要运用SpringBoot3.0开发运用程序,则需要将正在运用的Java8或Java11晋级到Java17。
期望这些信息对您有所协助!
小结
微软的Bing答复能够媲美ChatGPT了,毕竟是同一家的,能够看出对JDK17总结的很好,也没有啥过错。
GoogleBard
当然,以下是我主张在2023年晋级到JDK17的5个原因:
-
JDK17是Java的最新版别
。它于2022年9月发布,包括许多新功用和改善。 - JDK17是一个长时间支撑(LTS)版别。这意味着它将支撑8年。
- JDK17比JDK8更高效。它运用更少的内存和CPU资源,然后进步功用并降低成本。
- JDK17支撑新的特性和功用。例如,
它包括对新的HTTP/3
协议的支撑,能够进步Web运用程序的功用。 - JDK17与其他Java渠道的兼容性更高。它能够运转在比JDK8更广泛的操作系统和硬件渠道上。
整体而言,我认为JDK17是2023年晋级到的最佳Java版别。它与JDK8比较具有许多优势,包括最新版别、支撑LTS、更高效、支撑新功用以及更多与其他Java渠道兼容。
以下是有关JDK17中的新功用和改善的一些其他详细信息:
- HTTP/3支撑:JDK17包括
对新的HTTP/3协议的支撑
,能够将Web运用程序的功用进步多达30%
。 - 预览功用:JDK17包括许多尚未彻底支撑但可用于试验新技术的预览功用。这些功用包括
Records
、PatternMatchingforinstanceof
和Sealed
类。 - 安全更新:JDK17包括针对先前版别Java中发现的许多漏洞的安全更新。
假如你现在运用的是JDK8,我主张赶快晋级到JDK17。JDK8不再受支撑
,并且不会收到任何安全更新或过错修正
。经过晋级到JDK17,您能够保证您的Java运用程序是安全的和最新的。
小结
Google Bard也是引荐晋级到JDK17,但是这个答复就比较差了,还有许多过错
- JDK17并不是Java最新版别,2023年6月JDK最新版别是JDK20
- JDK17并没有支撑HTTP/3,再说Web运用程序功用进步30%这个结论也不知哪里来的
-
Records
、PatternMatchingforinstanceof
和Sealed
类这些功用现已不是预览功用了 - JDK8会支撑到2030年,没有说JDK8不再受支撑,仅仅主版别不更新,安全修正仍是会支撑的。 整体感觉Google Bard答复仍是比较差的,没有对JDK17特性总结,并且还呈现许多过错。
百度-文心一言
尽管Java8现已发布多年,但仍然有许多开发人员和公司运用它。假如你想晋级JDK版别,我的主张是赶快晋级到Java11。以下是5个理由:
-
长达10年的支撑生命周期:
Java8已于2019年中止更新和支撑,而Java11是当时最新版别
,且具有长达13年的支撑生命周期。这意味着你将能够获得最新的安全更新和功用改善,一起也能够保证你的软件在未来几年内得到支撑。 - 功用和可靠性进步:每个新的Java版别都会带来功用和可靠性的进步。Java11也不例外,它引进了许多优化和改善,包括JIT编译器和废物收集器的改善,以及一些库的增强。这些改善能够进步你的运用程序的功用和可靠性。
-
更好的代码体会:Java11引进了一些新的功用,例如
本地变量揣度
、switch语法的改善、泛型数组
的改善等。这些功用能够进步你的代码质量和可读性,使你的代码更简单编写和保护。 - 向前兼容性:Java11向下兼容Java8的API,因而晋级应该相对简单。你的代码在Java11中应该能够持续正常运转,而不需要做任何修改。
- 工具和结构的支撑:许多开发工具和结构都现已开端支撑Java11。例如,SpringFramework现已官方支撑Java11,IntelliJIDEA也现已原生支撑Java11。这意味着你将更简单找到有关Java11的教程、示例和其他资源,并且能够运用最新的工具和结构来开发你的运用程序。
总归,假如你还没有晋级JDK版别,我主张你赶快晋级到Java11。它将带给你更好的功用、可靠性和代码体会,以及更长的支撑生命周期和更好的工具和结构支撑。
小结
百度文心一言引荐晋级到JDK11,给的5点理由看起来仍是比较专业的,不过也是有过错的
- JDK8并不是于2019年中止更新和支撑,JDK11也不是2023年最新的版别
- 本地变量揣度
var
应该是JDK10引进的,泛型数组应该是指JDK11晋级的Collection.toArray()
办法
总的来看百度文心一言答复仍是能够的,至少对JDK11给的5点晋级理由总结的像模像样。
科大讯飞-星火
2023年JDK8现已是一个相对较旧的版别,因而晋级到较新的JDK版别将有助于进步开发功率和运用程序功用。依据Java的发展路线图,我主张您考虑晋级到JDK15。以下是5个引荐理由:
-
新特性与改善:JDK15引进了许多新特性和功用改善,如
Switch表达式
、文本块、Records等,这些特功用够进步代码的可读性和编写功率。 - 安全性进步:JDK15对许多安全漏洞进行了修正,进步了Java运用程序的安全功用。
-
跨渠道支撑:JDK15为Java在不同渠道上供给了更好的支撑,包括Windows、
macOS
和Linux等操作系统。 - 功用优化:JDK15针对一些要害场景进行了功用优化,例如废物收回器、线程池等,然后进步了运用程序的运转速度和响应能力。
- 长时间支撑(LTS):JDK15被选为长时间支撑(LTS)版别,意味着在未来几年内,您能够持续运用这个版别进行开发和布置,无需担心版别更新带来的不稳定性问题。
总归,晋级到JDK15将有助于进步您的Java开发体会和运用程序功用。当然,依据您的项目需求和团队实际情况,您也能够考虑其他较新的JDK版别。
小结
科大讯飞引荐了JDK15,给的5个理由过错也是有过错的
- JDK12引进
SwitchExpressions
- 应该是macOS/AArch64Port供给更好的支撑
- JDK15是
non-LTS
阿里-通义千问
2023年JDK8最好晋级到JDK17。以下是5个引荐理由:
- JDK8是一个长时间支撑的版别,最后一次更新是在2020年,因而它的安全性和稳定性现已得到了充分的验证。
- JDK17是现在最新的JDK版别,它具有许多新特性和功用,例如
Java17中引进的Lambda
表达式、接口默许办法、办法引证等等。这些新特性和功用能够使您的代码愈加简洁、易读和易保护。 - JDK17还具有许多重要的安全更新和修正,例如对数据流和ASCII字符串的安全性更新,以及对JDK内存管理器的多个安全修正。
- JDK17还增加了对一些新的硬件架构的支撑,例如ARM64和x86_64架构。这意味着您能够运用这些新的硬件架构来编写更快、更高效的代码。
- 最后,JDK8是免费供给的,您能够在官方网站上下载和装置它。此外,JDK8的开发人员社区十分活泼,您能够在StackOverflow等社区中找到许多有用的资源和协助。
综上所述,JDK8是一个功用丰富、安全可靠、功用优异、支撑新硬件架构的Java版别,值得您晋级到它。
小结
阿里通义千问的答复也是醉了,引荐是JDK8晋级到JDK17,成果又说JDK8的的特性,说JDK17里引证Lambda
表达式,感觉这个答复像是全文搜索一样,只要是把包括JDK8、JDK17、晋级要害字搜索出来而已。
清华ChatGLM-6B
引荐晋级到Java8的版,由于以下原因:
- 更好的功用:Java8引进了lambda表达式、StreamAPI和元数据API等新特性,使得代码更简洁、更高效。
- 支撑多线程:Java8支撑多线程,使得编写并发程序愈加简单。
- 更好的安全性:Java8引进了异常处理和安全性增强的特性,使得编写安全的Java运用程序愈加简单。
- 更多的库:Java8引进了更多的库,包括ApacheCommons、Oracle的HttpClient等,使得开发愈加简单。
- 更好的兼容性:Java8与Java7具有相同的兼容性,因而能够与Java7的运用程序一起运转
以下是引荐的Java8版:
- Java8版:JavaSE8,由Oracle发布。
- Java8版:JavaSE8的第二个正式版别,由Oracle发布。
- Java8版:JavaSE8的第三个正式版别,由Oracle发布。
- Java8版:JavaSE8的第四个正式版别,由Oracle发布。
- Java8版:JavaSE8的第五个正式版别,由Oracle发布。 引荐晋级到Java8的版,由于Java8具有更好的功用、安全性、多线程支撑、库和兼容性。
小结
清华这个ChatGLM-6B或许仅仅自己布置了一下,感觉全是在胡说。
总结
总的来看ChatGPT和微软的Bing是最好的,引荐晋级到JDK17也是比较合理的,给个5个理由也很好,也没有什么过错。Google Bard就让人有点绝望的,感觉Google不应该是这水平,不过有个前提是Google Bard现在不支撑中文,我是将问题翻译成英文后提交,再将答复的英文翻译成中文的,或许和这个有点联系。国内的百度文心一言、科大讯飞星火尽管比不上ChatGPT、Bing,不过整体感觉也是适当不错,阿里通义千问感觉和自己布置的清华ChatGLM-6B一个水平。