前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2021 年 Java 开发者生产力报告

2021 年 Java 开发者生产力报告

作者头像
jwangkun
发布2021-12-23 17:57:10
4630
发布2021-12-23 17:57:10
举报
文章被收录于专栏:John Wong's Blog

Java 开发工具 JRebel 和 XRebel 的开发商——Perforce 最近公布了其第九份年度全球 Java 开发者生产力报告,该报告基于对 850 多位 Java 开发者的调查而得出。涵盖的主题包括 Java 团队的性质、他们遇到的挑战,以及首选的开发工具等诸多方面。通过调查发现,尽管有越来越多的开发者使用微服务,但是开发者仍然面临着较长的重新部署时间和服务间的功能问题。

关于受访者

此次调查中 49% 的受访者是 Java 开发者,6%为董事或副总裁,其余的则是由团队负责人、架构师和顾问组成。其中有超过三分之一(36%)的受访者在大型企业或组织中工作,在中小型公司有 42%,在初创公司有 15%。大多数人都是在小型团队中工作,这表明人们对更敏捷的开发和采用微服务的需求不断增长,在微服务中,开发人员可以使用较少的代码片段。40% 的团队在 3 至 9 人之间,24% 在 10-20 人之间,17% 在 20-50 人之间。

Java 和微服务趋势

不出所料,有 69% 的受访者仍在使用 Java 8,紧随其后是的 JavaScript 占 40%,以及 Java 11 占36%(在调查中受访者可以选择多种编程语言)。只有 16% 的受访者表示他们正在使用 Java 12 或更高版本,而目前有 15% 的受访者仍然在坚持使用 Java 7 或更早期的版本。

对于微服务的采用保持稳定,有 66% 的受访者正在积极过渡或已经在使用微服务了。只有 13% 的受访者根本不打算转型。调查中还询问了开发人员在他们主要的应用程序中拥有多少微服务,并以 1 到 20 这种规模进行选择。最终得出的答案是:使用 5-10 的有 36%,使用 1-5 的有 34%,其次是 16% 使用了 20 或更多的微服务,最后使用 10-20 的占了 14%。当然,公司或组织可以拥有多个应用程序架构,例如:42% 的用户使用 Monolith、SOA 29%、移动设备 23%,以及桌面设备 18%。

最受欢迎的工具

该报告对受访者在每个类别中最常用的技术和工具也进行了调查:

  • 应用服务器 —— Tomcat 仍占 66% 的份额。之后,JBoss/WildFly(19%)、WebLogic(18%)、Jetty(15%)和 WebSphere(14%),后几个的占比相对比较均匀。
  • 应用程序框架 —— Spring Boot 以 62% 位居榜首,与去年的 83% 相比有所下降。DropWizard 的用户占 8%,比 2020 年的 1% 有所增加。Quarkus 也类似,采用率从 1% 增加到 6%。
  • 框架配置 —— Annotations 以 75% 的优势居于领先地位。
  • IDE —— IntelliJ IDEA 以 65% 排名第一,其次是 Eclipse(48%)、VSCode(27%)和NetBeans(13%)。
  • JRE/JDK 分发 —— 使用 Oracle JDK 开发者有所增加,从去年的 50% 上升到 59%,尽管有报告指出很多人由于许可成本而放弃使用 JDK。这可能归因于响应此次调查的大型企业的数量占比较高,而大型企业通常比小型组织更难过渡。排名第二的是 AdoptOpenJDK 占 22%,使用 Amazon Corretto 的占比 10%。
  • 数据库 —— 最受青睐的是数据库是 MySQL 占比 43%,其次是 Oracle DB 和 PostreSQL,分别占36%。接下来是 MongoDB,有 29% 的受访者在使用。
  • 构建工具 —— Maven 以 67% 的占比成为开发者的首选工具,而去年 Maven 和 Gradle 则是并驾齐驱。
  • 虚拟化工具 —— 88% 的受访者表示他们在使用这些工具,而最常见的工具是 Docker,占57%,低于去年的 74%。Kubernetes 以 42% 的占比排名第二,相比去年的 35% 有所提高。VMWare 以 27% 的份额位居第三。
  • CI/CD —— Jenkins 在受访者中使用占比 61%,其他竞争对手(Bamboo、TravisCI 和 TeamCity等),仅占 12% 或更少。
  • PaaS —— 大多数受访者现在正在使用 PaaS 服务提供商,只有 24% 的受访者表示不使用。对于使用 PaaS 服务提供商的用户,AWS 占 39% 是用户的首选;Microsoft Azure 紧随其后,占24%;Google Cloud 位居第三,占 18%。

开发者的痛点

最严重的应用程序性能问题是较长的应用程序响应时间,达到54%(与去年的55%相提并论)。这种持续的趋势与微服务的采用不断增长相吻合。报告中的另一个性能问题是高 CPU 使用率(39%)和内存泄漏(35%),过多的开放连接和 IO 查询也分别达到26%和19%。

部署时间是最常见的问题。59% 的开发人员经历了超过四分钟的重新部署时间,而 20% 经历了超过 10 分钟的重新部署时间。这背后有两个潜在的原因。一种是,随着微服务规模的增长,开发和创建应用程序将花费更长的时间。第二个原因是由于微服务在远程虚拟机上运行。

针对微服务,对服务间功能进行故障排除是报告中最大的挑战,占30%;其次是在本地设置开发环境的问题(占24%)。这可以归因于创建复杂的微服务应用程序的困难度。

下一篇: CentOS 7部署FRP服务,实现内网穿透→

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-02-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于受访者
  • Java 和微服务趋势
  • 最受欢迎的工具
  • 开发者的痛点
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档