Java语言现状 (21年初20年底)

2023-11-08 09:48

本文主要是介绍Java语言现状 (21年初20年底),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

IntelliJ IDEA 发布了一项最新调查,中国有 51% 的程序员使用 Java ,这个比例全球最高,同时还有一些其他有趣的数据

今年,Java 达到了一个令人难以置信的里程碑,并达到了 25 岁的高龄

他们在哪里?

第一个问题是:“大多数 Java 开发人员都在哪里?”

根据市场研究和分析团队评估,当今世界上有大约 520 万将 Java 作为主要开发语言的专业 Java 开发人员

但是如果包括把 Java 作为副语言的开发者,这个数字可能接近 680 万

Java 开发人员最多的地方是亚洲,大约有 250 万的开发人员使用 Java 作为他们的主要编程语言

北美和欧洲的数字远不及亚洲,你可能会问“为什么呢?”

我们也有同样的想法,所以更深入地研究了这些区域,看看这些数字究竟是从哪里来的

具体在哪里

再深入一步,我们研究了 Java 开发人员最多的各个国家,调查了为什么这些国家在特别青睐 Java 而不是其他语言

下图显示了每个国家 / 地区使用 Java 作为主要开发语言的人员占比,中国韩国最高,分别约为 51%和 50%

数据取自《2020 年开发商生态系统状况调查》

专家分析

Java 在前 6 个国家中如此受欢迎

可能是因为:Java 的免费使用,政府支持和开源

中国西班牙巴西尤其如此

它是在中国印度进行 Android 移动开发的基础,用 Java 构建手机应用程序非常普遍,这可能是在印度使用率高的原因

德国也非常高,这可能归因于 Java 是德国最受工程师欢迎的语言,因为它被用于为许多行业构建常用的应用程序

大多数企业服务都依赖 Java 来开发应用程序,这些程序用于支持业务的日常运行,比如工资单、库存管理、报告等等

德国还有一个很大的金融系统,大量使用 Java 开发本国技术,比如交易机器人、零售银行系统和其他金融行业需要的应用程序

与之相比,美国没有那么高比例的 Java 用户,这也有道理

他们仍有大量的技术栈可供选择,往往会选择可以用来快速创建和测试应用的语言,所以可能不需要 Java 的强大功能和稳定性

行业见解

根据 2020 年开发者生态调查,超过三分之一的专业开发者使用 Java 作为主要语言

Java 仍然是仅次于 JavaScript 的专业开发者的第二大主要语言

专家分析

JavaScript 和 Java 占据主导地位并不令人惊讶,Java 开发者经常用 JavaScript 编写前端或者任何脚本文件

Python 排名第三可能是由于机器学习的普及

web 是开发者生态的重要组成部分,因此 JavaScript、HTML 和 CSS 以及 PHP 将永远有稳固的地位

SQL 也将一直存在,因为没有多少东西不需要数据库

c++ 是一种可靠的语言,被用于许多嵌入式应用程序,所以它会在排行榜存在很长时间

然而 c# 似乎正在失去优势,它和 Java 此消彼长,因为它们在功能方面非常相似

至于为什么认为 Java 的地位如此之高 —— 大多数企业的业务服务都依赖 Java 来运行

不只是 It 部门 —— 几乎每个公司,无论是销售、制造还是银行,都将 It 服务作为其基础设施的一部分

而这些服务 (如工资单或库存管理) 通常在后端使用 Java 构建,所以 Java 才这么常用

用 Java 开发的软件类型

根据《开发者生态 2020 》调查的结果,Web 服务是 Java 最流行的领域,占 52%

专家分析

令人惊讶的是,Java 在智能商务 / 数据科学 / 机器学习中也如此流行

其他的不足为奇,因为 web 服务中的后端通常是 Java 的,当他们需要后端和数据库一起工作时,他们常常会选择 Java

使用 Java 的热门行业

Java 程序员主要在 IT 服务(42%)和金融与金融科技(44%)中工作,但这并不是说 Java 不用于其他行业

Java 工具

Java 版本

Java 8 仍然是最受欢迎的版本,有 75%的 Java 开发者正在使用它

有几个因素导致 Java 8 如此流行:首先,它具有 Java 开发者需要的一切,它具有 lambda 和 streams,并且是一个易于使用的好版本

而且,大家不太情愿迁移到 Java 9。Java9 引入了一些重大的架构变化,人们担心这些变化会破坏他们用 Java 8 构建的应用程序

最重要的是,Oracle 推出了每两年发行一次的制度,因此并非所有版本都长期受支持,Java 9,Java 10,Java 12 和 Java 13 仅受 6 个月支持,这可能就是它们都只有这么少用户的原因

Java 13 之所以也很高,是因为调查时,它是最新版本,这个数字可能会在几个月后下降

Java 11 于 2018 年问世,它是最近一个被长期支持的版本。许多企业仍未迁移到它,因为他们担心超越 Java 9(随着体系结构的更改)会破坏一切

而且Java 11 引入了新的许可和订阅,如果你使用了错误的版本,以错误的方式,Oracle 还会罚款

导致许多开发人员不升级 Java 11 的最后一个重要因素是,Java 11 没有太多令人兴奋的新特性,升级的风险大过新版本的功能

Java 17 将是下一个长期支持的版本,它带来了大量的新特性,但是直接从 Java 8 更新到 Java 17 也会有问题

我的预测是,下一个长期版本 Java 17 将比上一个 LTS (长期支持版本) Java 11 更受欢迎。如果你在为 Java 17 做准备工作

我建议先将你的代码库更新到 Java 11,然后再更新到 Java 17,以避免大问题

流行的服务器应用

在过去的三年中,Apache Tomcat 仍然是最受欢迎的服务器应用

而 JBoss EAP 和 WildFly 的使用者减少了一半。

专家分析
Jetty 位居第二,确实低得令人惊讶

可能是某些正在使用 Spring Boot 和其他微服务框架的开发人员没有意识到他们在不知不觉中使用到了 Tomcat 或 Jetty

前五名 Web 框架

2018 年和 Spring MVC 一样流行的 Spring Boot,到 2020 年变得更加流行

前 5 名 IDE / 编辑器

IntelliJ IDEA 的市场份额从 2018 年的 55% 上升到 2020 年的 72%

而其他 4 个的使用量则有所下降,这是开发者生态系统调查 (2018 年和 2020 年) 报告的结果

转自作者Valeriia Karpenko

传智無彦祖(修改)

这篇关于Java语言现状 (21年初20年底)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/369070

相关文章

Java NoClassDefFoundError运行时错误分析解决

《JavaNoClassDefFoundError运行时错误分析解决》在Java开发中,NoClassDefFoundError是一种常见的运行时错误,它通常表明Java虚拟机在尝试加载一个类时未能... 目录前言一、问题分析二、报错原因三、解决思路检查类路径配置检查依赖库检查类文件调试类加载器问题四、常见

Java注解之超越Javadoc的元数据利器详解

《Java注解之超越Javadoc的元数据利器详解》本文将深入探讨Java注解的定义、类型、内置注解、自定义注解、保留策略、实际应用场景及最佳实践,无论是初学者还是资深开发者,都能通过本文了解如何利用... 目录什么是注解?注解的类型内置注编程解自定义注解注解的保留策略实际用例最佳实践总结在 Java 编程

Java 实用工具类Spring 的 AnnotationUtils详解

《Java实用工具类Spring的AnnotationUtils详解》Spring框架提供了一个强大的注解工具类org.springframework.core.annotation.Annot... 目录前言一、AnnotationUtils 的常用方法二、常见应用场景三、与 JDK 原生注解 API 的

Java controller接口出入参时间序列化转换操作方法(两种)

《Javacontroller接口出入参时间序列化转换操作方法(两种)》:本文主要介绍Javacontroller接口出入参时间序列化转换操作方法,本文给大家列举两种简单方法,感兴趣的朋友一起看... 目录方式一、使用注解方式二、统一配置场景:在controller编写的接口,在前后端交互过程中一般都会涉及

Java中的StringBuilder之如何高效构建字符串

《Java中的StringBuilder之如何高效构建字符串》本文将深入浅出地介绍StringBuilder的使用方法、性能优势以及相关字符串处理技术,结合代码示例帮助读者更好地理解和应用,希望对大家... 目录关键点什么是 StringBuilder?为什么需要 StringBuilder?如何使用 St

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格

Java并发编程之如何优雅关闭钩子Shutdown Hook

《Java并发编程之如何优雅关闭钩子ShutdownHook》这篇文章主要为大家详细介绍了Java如何实现优雅关闭钩子ShutdownHook,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起... 目录关闭钩子简介关闭钩子应用场景数据库连接实战演示使用关闭钩子的注意事项开源框架中的关闭钩子机制1.

Maven中引入 springboot 相关依赖的方式(最新推荐)

《Maven中引入springboot相关依赖的方式(最新推荐)》:本文主要介绍Maven中引入springboot相关依赖的方式(最新推荐),本文给大家介绍的非常详细,对大家的学习或工作具有... 目录Maven中引入 springboot 相关依赖的方式1. 不使用版本管理(不推荐)2、使用版本管理(推

Java 中的 @SneakyThrows 注解使用方法(简化异常处理的利与弊)

《Java中的@SneakyThrows注解使用方法(简化异常处理的利与弊)》为了简化异常处理,Lombok提供了一个强大的注解@SneakyThrows,本文将详细介绍@SneakyThro... 目录1. @SneakyThrows 简介 1.1 什么是 Lombok?2. @SneakyThrows

在 Spring Boot 中实现异常处理最佳实践

《在SpringBoot中实现异常处理最佳实践》本文介绍如何在SpringBoot中实现异常处理,涵盖核心概念、实现方法、与先前查询的集成、性能分析、常见问题和最佳实践,感兴趣的朋友一起看看吧... 目录一、Spring Boot 异常处理的背景与核心概念1.1 为什么需要异常处理?1.2 Spring B