Java 8 腰斩!Java 17 暴涨 430%!!

news2024/9/21 18:42:46

前言

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”启动仪式,我们不见不散~
在这里插入图片描述

视频号传送门:https://bbs.csdn.net/topics/615357233

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

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

相关文章

数据链路层讲解

目录 一、数据链路层解决的问题 二、以太网协议 2.1 认识以太网 2.2 以太网帧格式 2.3 MAC地址 2.3.1 认识MAC地址 2.3.2 对比MAC地址和IP地址 2.4 MTU 2.4.1 认识MTU 2.4.2 MUT对IP协议的影响 2.4.3 MTU对UDP协议的影响 2.4.4 MTU对TCP协议的影响 2.5 数据跨网络…

什么是npu算力盒子,算力是越大越好吗?

一、什么是npu算力盒子?该怎么选? NPU(神经处理单元)算力盒子是一种专门用于进行人工智能计算的硬件设备,其中集成了高性能的NPU芯片。NPU是一种针对深度学习任务进行优化的处理器,具备高度并行计算和低功…

MySQL高级_第07章_InnoDB数据存储结构

MySQL高级_第07章_InnoDB数据存储结构 1.数据库的存储结构:页 索引结构给我们提供了高效的索引万式,不过索引信息以及数据记录都是保存在文件上的, 确切说是存储在页结构中。另一方面,索引是在存储引擎中实现的,MySQL服务器上的存储引擎负责…

文章生成器-原创文章生成器

在网络营销领域,优质文章是吸引新客户和保留老客户的重要工具。然而,生成高质量且符合SEO优化的文章并不是一件容易的事情。这就是为什么网站文章生成器如今备受欢迎的原因。而在众多的文章生成工具中,147GPT批量生成文章软件是一款非常出色的…

apache doris自定义udf函数

环境准备 下载(https://doris.apache.org/zh-CN/download) 上传文件到节点,并解压 apache-doris-fe-1.2.4.1-bin-x86_64.tar.xzapache-doris-be-1.2.4.1-bin-x86_64-noavx2.tar.xzapache-doris-dependencies-1.2.4.1-bin-x86_64.tar.xz部署 官方部署文档(本文的端口均有修…

如何将 Confluence 数据自助迁移至 ONES|软件国产化替代

近日,ONES 升级了 Confluence 自助迁移工具,对迁移数据类型、迁移范围、迁移模式等多个维度的能力进行了提升,帮助企业更高效率、更低成本地将 Confluence 中的数据完整、准确地迁移至 ONES Wiki 中。 在 Confluence 与 ONES 服务资源充足的…

win下C++通过Clion部署yolov5——libtorch+yolov5

libtorchyolov5 一、环境配置二、下载官网例子三、测试3.1、创建项目3.2、cmakelist.txt编写3.3、运行测试 一、环境配置 需要配置libtorchOpenCV,此处参考博文:clion配置libtorchOpenCV环境配置。 环境解决后即可开始下一步啦。 二、下载官网例子 下…

【debug】分立式网络切片部署

文章目录 启动代码部署全流程网络配置配置静态IP 部署核心网部署基站部署基站1部署基站2部署基站3查看amf日志 问题routing-config的问题不加routing-config与加的对比调查 nr-binder功能测试基站1基站2ifconfig路由表方向解决 路由规则 启动代码 启动OAI核心网 #开启数据转发…

WebAssembly--执行与内存模型

前言 在WebAssembly初探中,我们已经了解了WebAssembly的发展和标准演进过程,并简单地体验了一把Wasm的应用,本篇文章会通过对比WASM和JS的执行流程,WebAssembly的内存模型深入分析,带大家理解下WebAssembly部分核心原…

IOC/DI注解开发管理第三方bean

文章目录 1 环境准备2 注解开发管理第三方bean步骤1:导入对应的jar包步骤2:在配置类中添加一个方法步骤3:在方法上添加Bean注解步骤4:从IOC容器中获取对象并打印 3 引入外部配置类3.1 使用包扫描引入步骤1:在Spring的配置类上添加包扫描步骤2:在JdbcConfig上添加配置注解步骤3:…

谷歌浏览器F请求解析说明

请求 Queued at 0s:表示该请求加入到请求队列中的时刻,请求队列在打开F12后第一次发送请求的时候创建,直到关闭控制台的时候销毁。 Started at 7.14s:表示请求开始处理的时刻。 Queueing:表示请求从加入到请求队列…

LeetCode 107. 二叉树的层序遍历 II

107. 二叉树的层序遍历 II 描述 给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历 。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 示例 示例1 输入:root [3,9,20,null,null,15,7] 输出…

Alibaba(一)项目环境合理选择

在学习以及开始使微服务架构前,我们需要先选择各各模块适配的版本。以此来避免生产过程或者学习过程出现令人头疼的版本问题,避免花费大量时间去找更正这些版本错误,导致耽误学习,影响项目进度。 项目源码,及源文档地址…

XPATH 使用备忘

xpath的基础使用 一.xpath简介 XPath 是一门在 XML 文档中查找信息的语言。XPath 用于在 XML 文档中通过元素和属性进行导航。 XPath 使用路径表达式在 XML 文档中进行导航XPath 包含一个标准函数库XPath 是 XSLT 中的主要元素XPath 是一个 W3C 标准 节点 在 XPath 中&…

【Linux】有名管道介绍及使用

目录 有名管道有名管道使用 橙色 有名管道 有名管道(FIFO)和匿名管道(pipe)有一些特点是相同的,不一样的地方在于: FIFO在文件系统中作为一个特殊文件存在,但文件中是没有内容的, FIFO中的内容存放在内存中。当使用FIFO的进程退出后, FIFO文…

在离散混合制造环境中应用制造运营模型

介绍 本文所描述的所有制造过程、场景、操作模式和技术应用目前都在一个成熟的离散和离散/批量混合制造企业中使用,该企业生产和维修复杂的机器。该企业生产的产品范围从从棒材加工的简单零件到复杂的机械装配;最终产品包括许多内部和第三方提供的子装配…

5.2————运算符重载

对于基本的数据类型,C提供来许多预先定义的运算符,如“,-,*,/”等,他们的运用大家应该已经很熟悉了。那么我们引入运算符重载的概念到底是为什么,比如是我们的加号可以完成基本数据类型的相加&a…

mysql 修改最大连接数max_connections

mysql 修改最大连接数max_connections 1、编辑mysql service文件2、编辑mysql 配置文件3、重启MySQL服务4、查看max_connections 1、编辑mysql service文件 查找mysql service文件 find / -name mysql*.service先备份再编辑 cp /usr/lib/systemd/system/mysqld.service /usr…

【C++ STL】 那年我双手插兜,学会了stackqueuepriority_queue基础知识及其模拟实现【对话情景版】

文章目录 📍前言C STL 之 stack&queue基础知识及其模拟实现📍容器适配器🎈什么是适配器?🎈STL标准库中stack和queue的底层结构🎈deque的简单介绍(了解)📌deque的原理介绍📌deque…

基于SSM的书画拍卖网站

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…