New Relic 最新发布了一份 “2023 年 Java 生态系统状况报告”,旨在提供有关当今 Java 生态系统状态的背景和见解。该报告基于从数百万个提供性能数据的应用程序中收集的数据,对生产中使用最多的版本、最受欢迎的 JDK 供应商、容器的兴起等多方面进行了调研分析。

Java17用户采用率在一年内增长了430%

Java 每两到三年推出一个长期支持 (LTS) 版本。其中,目前最受欢迎的一个版本是 2018 年 9 月发布的 Java 11;有超过 56% 的应用程序在生产中使用它,高于 2022 年的 48% 和 2020 年的 11% 占比。2014 年发布的 Java 8 紧随其后,近 33% 的应用程序在生产中使用该版本,低于 2022 年的 46%。

报告称,虽然 Java 11 已经连续两年占据榜首,但 Java 17 (2021 年 9 月发布) 的采用率增长远远超过了 Java 11 推出时的情况。**现共有超过 9% 的应用程序在生产中使用 Java 17 (2022 年还不到 1%),这意味着其在一年内实现了 430% 的增长率。**而 Java 11 花了多年时间才达到接近这个水平的增长。

对 Java 7 (2011 年 7 月发布的 LTS 版本) 的支持已于 2022 年结束,现只有 0.28% 的应用程序仍在生产中使用该版本。大多数使用 Java 7 的应用程序都是尚未升级的遗留应用程序。

Java 17 是 2021 年 9 月 14 日正式发布的,距今也已经有一年多了,是一个长期支持(LTS)版本。Java 17 这个版本非常重要,Spring Framework 6.0 和 Spring Boot 3.0 最低支持都是 Java 17。


老项目大家不愿意麻烦升级新版本可以理解,毕竟这种东西领导也不懂,搞不好反而容易出事故。新项目真的没有任何理由继续用 Java8 了(除非你的项目有特殊的需求),Java8 很快就会成为过去式,新版本必有一个会成为主流,Java17 就不错的,2023 年 9 月发布的 Java 21 应该会有更多孵化的新特性在此毕业,到时应该也是一个强力的版本。
Vaadin 最近发布的一份有关企业中 Java 现状的研究报告指出,组织向 Java 17 的迁移也在顺利进行中,目前已有近四分之三的组织计划在一年内采用 Java 17。

Java 作为一种云原生技术正在经历一场变革性的复兴。企业继续投资于新型架构的 Java 应用程序,同时也为云对现有 Java 应用程序进行现代化改造。Java 将继续保持其在企业应用中的核心地位。

该报告还指出,存在有一半的 Java 应用程序需要推动现代化;其中可能包括升级技术堆栈、采用新框架以及部署到云原生环境。可维护性被列为推动现代化的首要动力,其次则是安全风险。


云基础设施和无服务器平台(云原生环境)被视为 Java 应用程序的重要演进。 向云的转变正在顺利进行,三分之一的 Java 应用程序已经部署在 AWS、Azure 和谷歌云中。

报告还指出,Java 应用程序中的最大占比是 Web 应用程序,桌面应用程序仅占调查时所有开发产品的 18%。开发者对全栈式 Java 应用有着强烈的兴趣,有 70% 的受访者表示,计划在项目中使用新的全栈式 Java 应用程序。仅次于全栈应用的则是后端开发。

在全栈和后端开发之后,受访者的开发工作主要分散在对现有应用程序进行现代化改造(57%);开发异构(Java 与 JavaScript 或 TypeScript)全栈应用程序(48%);将现有应用程序迁移到云端(36%);以及为现有 Java 后端构建新的前端(29%)。

Java 开发人员目前青睐的前端框架中,Angular (37%) 和 React (32%) 处于领先地位,其次是 Vue (16%)。

此外,**有 79% 的人报告使用了 Spring Boot,**且 50% 的受访者表示计划增加使用。Vaadin Flow、Spring Framework、Quarkus、Hilla 和 React 等框架的采用率均预计将出现净增长。

事实上,Java 技术在云原生时代也在不停地进化。阿里云程序语言与编译器团队负责人、Java Champion 李三红认为,从 1995 年 Java 1.0 发布算起, Java 技术这二十多年的发展,大致存在一明一暗两条线的驱动。“一条暗线,是指 Java 或者说支撑 Java 的底层 JVM 技术适配计算机架构的演进与发展。一条明线,是指 Java 作为一个开发者工具,本质是要面向业务领域解决业务问题的,所以自然而然地推动了 Java 在云原生,AI 等方向的演进,解决这些领域内碰到的问题与挑战。”

处于 Java 生态中的企业也正在贡献自己的力量。阿里内部在大规模地往 Java 11、 Java 17 迁移的时候,总结了不少的经验,并且将这些经验通过工具的方式沉淀下来。最后阿里开源了 EMT4J (Eclipse Migration Toolkit for Java) ,能够帮助 Java 应用无缝升级最新版本 JDK, 主要支持从 Java 8 到 Java 11,以及 17 的升级。

从目前的一些消息来看,**Java8 似乎正在退场,全面拥抱 Java 17 还没有真的到来,但至少已经在路上了,留给java 8用户的时间不多了…**作为程序员的我们应该做准备了!

如今的Java仍然是最具有统治力的编程语言,拥有一千二百万的庞大开发者群体,全世界有四百五十亿部物理设备使用着Java技术。未来一段时间,是Java重要的转型窗口期,我们将拭目以待。

《Core Java》根据Java 17 全面更新

Java 之父先前也说,开发者应尽快弃用 JDK 8,可以选择 JDK 17 长期支持版本。针对 Java 17新特性全面更新的《Core Java》最新版,中文版《Java核心技术(原书第12版)经全面修订,以涵盖Java 17的新特性。新版延续之前版本的优良传统,用数百个实际的工程案例,全面系统地讲解了Java语言的核心概念、语法、 重要特性、 开发方法。

本次新书发布会由作者Cay S. Horstmann领衔,卷Ⅱ译者陈昊鹏教授,Google 开发者专家霍丙乾先生,以及同程旅行资深架构师李智慧先生为大家带来4场主题演讲,从Java新特性一起展望Java的未来!27位Java领域的资深专家和贡献者将分享他们最真实的阅读体验、方法和技巧。

“Java核心技术大会 2023” 也将在本次新书发布会重磅揭幕,三位专家出品人李三红、周志明、杨晓峰带大家适应最新的Java技术发展趋势和需求。

5月18日晚18点,《Java核心技术》新书发布会暨”Java核心技术大会 2023”启动仪式,请到机械工业出版社】视频号观看,我们不见不散~


最后这里送出两本CoreJava最新版卷二,参与评论即可参与抽奖

Java 8 腰斩!Java 17 暴涨 430%!!(文末福利)相关推荐

  1. Java程序员从阿里、京东、美团面试回来,这些面试题你会吗?(文末福利)

    hi 大家好 我是田哥 今天,给大家分享一些面试干货.我们每次面试基本上都是超过一个小时的,面试官肯定会问很多问题,其实也不是需要我们全部能回答上来.但是,关键点如果回答不上来,就算你其他的回答的不错 ...

  2. java如何实现导出Excel(附源码)--文末送书

    点击上方[全栈开发者社区]→右上角[...]→[设为星标⭐] 作者:你在我家门口 juejin.im/post/5c6b6b126fb9a04a0c2f024f 前言 公司项目最近有一个需要:报表导出 ...

  3. 给Java程序员的一些中肯建议,你还在虚度光阴吗?(文末福利)

    开篇: 最近好多人私信问我,该怎样才能成为高薪架构师,还有一个就对当前的状态感到迷茫,我在此做一个简单的说明,或者对迷茫中的你来说有些许帮助. 当前你感到迷茫吗? 有很多人对现在的工作感到很没意思,因 ...

  4. GitHub疯狂转发!阿里巴巴彩版java性能调优实战,终于到手了!文末福利

    怎样才能做好性能调优? 开始之前,我先来讲一下我对性能调优的看法.在我看来Java的性能调优并不是像学习编程语言一样可以通过学习掌握,它是没有办法用直线的思维学会并掌握使用的,并且它对于程序员来说,对 ...

  5. Java程序员从阿里、百度面试回来,这些面试题你们会吗?(文末福利)

    算算自己大概面试了近十家公司,也拿到了几个Offer,现在面试告一段落,简单总结下面试经验. 我现在主要的方向是Java服务端开发,把遇到的问题和大家分享一下,也谈谈关于技术人员如何有方向的提高自己, ...

  6. 文末福利|云原生下Java的变化与趋势?程序员为什么不喜欢低代码?答案在这里!...

    很多大型企业都面临着全球快速数字化的压力:"数字化企业"以全新的商业模式出乎意料地杀入市场.这期间,首席架构师和CTO扮演着非常关键的角色,他们能够综合运用技术能力.沟通技巧和组织 ...

  7. java高级架构师的自我修养;文末有进阶路线思维导图

    1.架构师的定义 在互联网圈里架构师这个名号的火热程度堪比产品经理,在产品经理没火之前就已经风生水起.乔布斯是苹果的产品架构师,比尔盖茨是微软的首席架构师,马化腾也号称腾讯的首席架构师. 有些人会觉得 ...

  8. 【文末抽书】Java设计模式--单例模式

    来源 :投稿 | 作者 : gyl-coder|原文:阅读原文 在介绍单例模式之前,我们先了解一下,什么是设计模式? 设计模式(Design Pattern):是一套被反复使用,多数人知晓的,经过分类 ...

  9. 2022 年,阿里内推 Java 后端面试题,文末附面试福利

    阿里一面题目: osi 七层网络模型,五层网络模型,每次层分别有哪些协议 死锁产生的条件, 以及如何避免死锁,银行家算法,产生死锁后如何解决 如何判断链表有环 虚拟机类加载机制,双亲委派模型,以及为什 ...

最新文章

  1. matlab--常微分方程的数值解(ODE-s)
  2. Java中对象的储存区
  3. 2015盘点最佳5笔小投资引援:骑士得枪勇士收肉盾
  4. 牛客网Java刷题知识点之插入排序(直接插入排序和希尔排序)、选择排序(直接选择排序和堆排序)、冒泡排序、快速排序、归并排序和基数排序(博主推荐)...
  5. 谷歌cloud_通过使用Google Cloud ML大规模提供机器学习模型,我们学到了什么
  6. 一个好看的网站关站维护通告单页
  7. 使用ajax局部更新Razor页面
  8. ofstream 的中文目录问题
  9. CTA策略06_BollChannelStrategy
  10. android javamail获取邮件太多太慢_「Java」 - SpringBoot amp; 邮件发送
  11. 协程实现多边同时交互原理
  12. 百面机器学习—3.逻辑回归与决策树要点总结
  13. 6 云计算系列之Nova安装与配置
  14. VUE 注册验证码页面实例
  15. activiti 启动tomcat乱码_Activiti 流程图片显示乱码问题分析与解决
  16. 暑假旺季到了,如何选择酒店呢
  17. 正则表达式的贪婪匹配和非贪婪匹配
  18. JQuery读书笔记---很全面的教程
  19. c语言程序 计算离高考天数,用c++程序计算一个孩子从出生到高考需要多少天
  20. 腾讯离职元老的内部邮件:马化腾的趣事

热门文章

  1. PlentyOfFish.com .NET网站的又一传奇(转)
  2. 在linux中删除多级目录,如何使用一个Linux命令删除多个子目录 | MOS86
  3. 安装AndroidStudio创建模拟器报错“VT-x is disabled in BIOS
  4. Git中tag标签的使用
  5. vue中实现tag标签
  6. 优雅编程之这样使用CollectionUtils,你就“正常”了(三十五)
  7. 信安66部——OA办公系统部署
  8. python弹球小游戏程序设计_Python写的弹球小游戏
  9. squirrel连接mysql_数据库管理工具——SQuirreL SQL Client使用入门
  10. mysql客户端Navicat_Premium_11.0.17_XiaZaiBa.exe导出excel文件