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

news2025/1/8 18:57:24

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最新版卷二,参与评论即可参与抽奖👉。

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

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

相关文章

AIGC+实时云渲染:开启3D内容生态的黄金时代

AIGC技术革命下,我们的3D内容生态将会迎来怎样的变化格局? 实时云渲染 / Cloud XR技术将在AIGC大潮中扮演什么样的角色? 作为云基础设施厂商,我们有哪些机会可以抓住? 这些问题已在XR产业、3D内容行业以及软件行业内…

人工智能基础部分18-条件随机场CRF模型的应用

大家好,我是微学AI,今天给大家介绍一下人工智能基础部分18-条件随机场CRF模型的应用,本文将详细介绍条件随机场(CRF)模型,包括其原理、应用场景及实际代码实现。我将通过一个生活中的简单数据样例来演示如何输入数据、运行模型以及…

prometheus监控redis集群并显示到granfana面板

prometheus监控redis集群 监控redis1,在redis机器上安装redis_exporter2,配置prometheus配置文件3,设置redis maxmemory4,导入redis监控模板736 监控redis 1,在redis机器上安装redis_exporter 下载,安装r…

什么是边缘服务器?边缘计算的未来如何?

边缘服务器是指驻留在网络逻辑边缘上的任何类型的服务器,通常位于专用网络和互联网之间。边缘服务器的计算能力正在迅速塑造现代工业格局,动态应用程序和现代业务基础设施的出现使得数据的快速处理和共享成为必然。公司现在正在用边缘服务器技术取代传统…

什么是Pinia?以及它的使用方式?以及和Vuex的区别是什么?

文章目录 概要什么是Pinia?Pinia和Vuex的区别?Pinia相比于Vuex的优势?为什么要使用Pinia?Pinia的简单使用安装(仅限于Vue3)使用 概要 提示:下边是Pinia的简单介绍(详解请点击查看官方…

深度解析接口自动化框架封装项目:封装层级,关联调用,极限改进

目录 前言: 一、接口封装与封装层级 二、接口关联和数据准备 三、接口封装极限改进 四、代码示例 五、总结 前言: 接口自动化是软件测试领域中的一个重要环节,它可以自动化执行接口测试用例,快速发现和定位接口问题&#xf…

JAVA的基本数据类型及扩大缩小转换

JAVA的8种基本类型 分为四大类:整形、浮点型、字符型、布尔型 数据类型类别大小(位)范围byte整型8-128 到 127short整型16-32768 到 32767int整型32-2147483648 到 2147483647long整型64-9223372036854775808 到 9223372036854775807float浮点型32约3.40282347e38…

房屋装修选择自装,如何寻找砌墙工人,比价并施工(砌墙阶段)

环境: 地点:杭州 装修类型:自装 面积:建面135平方 进度:砌墙阶段 问题描述: 房屋装修选择自装,如何寻找砌墙工人,比价并施工 解决方案: 一、了解砌墙相关知识 砌…

docker 安装 prometheus,grafana,node-exporter 监控工具

:https://download.csdn.net/download/qq_42208305/87792827 加载离线镜像 : 监控端安装: docker load -i prometheus.tar docker load -i grafana.tar 被监控端安装: docker load -i node-expo…

类加载器与模块化系统

1 类加载器 “类加载器”是实现应用程序自己决定如何去获取所需的类这个动作的代码。 1.1 类与类加载器 比较两个类是否“相等”,只有在这两个类是由同一个类加载器加载的前提下才有意义。否则,即使这两个类来源同一个Class文件,被同一个J…

智慧型档案馆十防一体化安全管控平台所需要的主要产品

档案八防十防常用的十款设备 序号 名称 1 温湿度传感器 2 空气质量云测仪 3 恒湿净化一体机 4 健康防护一体机 5 综合智能触摸一体化区域控制器 6 空调红外学习控制模块 7 漏水检测控制器及感应线 8 数字烟雾传感器 9 红外防盗传感器 10 系统软件平台 附…

无脑006——mmrotate框架下复现RTMDet-R

必须用mmrotate才有hrsc的程序 1 安装环境: Linux RTX 3090 nvcc --version cuda 11.3 pytorch 1.11.0 conda install pytorch1.11.0 torchvision0.12.0 torchaudio0.11.0 cudatoolkit11.3 -c pytorch测试pytorch是否安装成功: >>> torch.…

深入浅出PyTorch数据读取机制

熟悉深度学习的小伙伴一定都知道:深度学习模型训练主要由数据、模型、损失函数、优化器以及迭代训练五个模块组成。如下图所示,Pytorch数据读取机制则是数据模块中的主要分支。 Pytorch数据读取是通过​​Dataset​​​​​Dataloader​​的方式完成。其…

SOME/IP中间件通信流程

本文根据文章《CAPL如何实现SOME/IP协议通信:SomeIP_IL.dll函数篇(超两万字详解)》内容,抽取总结出SOME/IP通信流程,正不正确的另说,目的是为了加深对SOME/IP中间件的理解。 首先,不管是消费方consumer,还是提供方provider,都有自己的someip中间件。本质上,它是一个…

vue3 cesium datav 可视化大屏

目录 0. 预览效果 1. 代码库包 2. 技术点 3. 一些注意事项(配置参数) 4. 相关代码详情 0. 预览效果 包含的功能: ① 地球按照一定速度自转 ② 修改加载的geojson面样式 ③ 添加 文字 标注! 1. 代码库包 直接采用vue-cli5 创建…

MySql从入门到精通

MySql介绍 MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。 什么是数据库 数据库(Database)是按照数据结构来组织、存储…

oracle 闪回恢复

oracle 闪回恢复 闪回恢复区主要通过3个初始化参数来设置和管理: db_recovery_file_dest:指定闪回恢复区的位置 db_recovery_file_dest_size:指定闪回恢复区的可用空间大小 db_flashback_retention_target:指定数据库可以回退的时…

年近30 ,无情被辞,想给划水的兄弟提个醒

前几天,一个认识了好几年在大厂工作的程序员朋友,年近30了,却被大厂以“人员优化”的名义无情被辞,据他说,有一个月散伙饭都吃了好几顿…… 在很多企业,都有KPI考核,然后在此基础上还会弄个“末…

讲的太好了!!!————————Idea中的VM Options、Program Arguments、Environment Variable全解析

参数使用方式示例代码获取方式VM Options必须以 -D 、 -X 、 -XX 开头,每个参数用空格隔开 ,使用最多的就是 -Dkeyvalue-Dvm.keyVmKey -Dvm.key2VmKey2String key System.getProperty(“vm.key”); Program Arguments为我们传入main方法的字符串数组arg…

10-03 单元化架构设计

设计原则 透明 对开发者透明 在做实现时,不依赖于单元划分和部署对组件透明 在组件运行时,不感知其承载单元对数据透明 数据库并不知道为哪个单元提供服务 业务可分片 系统业务复杂度足够高系统可以按照某一维度进行切分系统数据必须可以被区分 业务…