多年来,Java 始终是企业应用程序的支柱。最近几年,Java 也是 Android 开发的首选编程语言。不过开发人员如何使用这种语言呢?一项新的研究阐明了主要使用 Java 的开发人员的工作类型,以及他们所使用的技术。

该分析基于 Stack Overflow 年度调查的数据,该调查是对程序员工作方式最全面的报告之一。今年的调查结果取自于全球近 9 万名开发人员。数据是在 Count 提供的工具的帮助下展开分析的。

Java 的使用场景

不出所料的是,大多数 Java 开发者把自己当做是后端开发工程师,在服务器上编写程序,并关联相关的数据库。这与很多企业使用 Java 的业务场景相吻合。Java 被用于开发并支持通常被企业内部和客户所使用的服务器端程序。

不过,越来越多的 Java 开发者称自己是全栈工程师,他们结合其他的编程语言,例如 JavaScript,来开发运行在浏览器或者原生平台上面的前端技术,以及其后端的开发内容。比较有趣的是,很大一部分这样的 Java 开发人员,认为自己是前端开发人员。

近期,在谷歌决定支持 Kotlin 之前,Java 一直是 Android 开发的首选编程语言,移动开发人员也是 Java 开发人员的前五大角色之一,与之相比更为普遍的是桌面程序和企业应用程序开发人员。

Java 开发者最流行的 IDE 和代码编辑器

目前最流行的 IDE 是 JetBrains IntelliJ IDEA ,被 Java 的开发人员使用了相当长的时间。然而,微软的 Visual Studio Code 编辑器(4 年前才发布)似乎正迅速受到欢迎,几乎与 IntelliJ IDEA 并驾齐驱。从 Stack Overflow 的数据来看,微软发布了一系列改进,使 VS Code 对 Java 开发人员更具吸引力,其中包括简化编辑 Java 的设置和添加一系列特定于 Java 的特性

紧随其后的是可扩展的代码编辑器 Notepad++ ,之后是 Android Studio IDE ,它基于 IntelliJ 的思想构建,但工具是专门为移动平台而准备的,然后是历史上最流行的 Java 开发工具之一 Eclipse IDE

Java 开发者最喜欢的数据库

Java 开发者最喜欢的是 MySQL 数据库,其次是比较快的 SQLite ,之后是功能丰富的 PostgreSQL 以及历史悠久的 Microsoft SQL Server

Java 开发者最喜欢的 Web 框架

JavaScript 在 Web 上的统治地位是显而易见的,最受欢迎的 JS Web 框架 JQuery 在 Java 开发人员中高居榜首。为 Java 应用程序设计的框架 Spring 也紧随其后,Spring 提供了一个 MVC 组件,用于使用模型 - 视图 - 控制器 (MVC) 的设计模式构建 Web 应用程序。

与之竞争第三和第四名的是用于构建 web 应用程序的流行框架, AngularReact.js 。最后,有更多的证据表明 Java 和 JavaScript 在 Web 方面被交叉使用, JavaScript 运行时环境 Node.js 的 Express.js web 应用程序框架排在第五位。

Java 开发者最喜欢的操作系统平台

在合作平台的问题上,开发人员被问及在过去一年里他们在哪些平台上做了大量工作。考虑到这个问题的开放性,答案比较宽泛,而且有点混乱,结果混合了操作系统和云计算平台的内容。

无论如何,基于 Linux 的操作系统高居榜首,其次是微软的 Windows 操作系统、谷歌的移动操作系统 Android、容器平台 Docker 和公共云计算平台 AWS。


“不积跬步,无以至千里”,希望未来的你能:有梦为马 随处可栖!加油,少年!

关注公众号:「Java知己」,每天更新Java知识哦,期待你的到来!

  • 发送「Group」,与 10 万程序员一起进步。
  • 发送「面试」,领取BATJ面试资料、面试视频攻略。
  • 发送「玩转算法」,领取《玩转算法》系列视频教程。
  • 千万不要发送「1024」...

Java 程序员最喜欢使用的日常工具的更多相关文章

  1. Java程序员必备的 15框开发工具

    15款Java程序员必备的开发工具 如果你是一名Web开发人员,那么用膝盖想也知道你的职业生涯大部分将使用Java而度过.这是一款商业级的编程语言,我们没有办法不接触它. 对于Java,有两种截然不同 ...

  2. Java程序员在用的大数据工具,MongoDB稳居第一!

    据日前的一则大数据工具使用情况调查,我们知道了Java程序猿最喜欢用的大数据工具. 问题:他们最近一年最喜欢用什么工具或者是框架? 受访者可以选择列表中的选项或者列出自己的,本文主要关心的是大数据工具 ...

  3. Java 程序员最喜欢的 11 款免费 IDE 编辑器

    Java开发人员需要花费大量的时间埋头于Java代码中,使用各种不同的IDE(Intergrated Development Environment)来开发Java代码,所以下面我将为大家介绍11个不 ...

  4. Java程序员必备的6款最佳开发工具

    工欲善其事,必先利其器.每一个Java程序员都有其惯用的工具组件.对于Java程序员,各种有用的软件和工具泛滥成灾.初级开发人员要么找不到合适的工具,要么在寻找过程中浪费了大量的时间.下面,我将为大家 ...

  5. Java程序员常用工具集

    我发现很多人没办法高效地解决问题的关键原因是不熟悉工具,不熟悉工具也还罢了,甚至还不知道怎么去找工具,这个问题就大条了.我想列下我能想到的一个Java程序员会用到的常用工具. 一.编码工具 1.IDE ...

  6. 身为java程序员你需要知道的网站(包含书籍,面试题,架构...)

    推荐几本书<高级java程序员值得拥有的10本书>,     首页 所有文章 资讯 Web 架构 基础技术 书籍 教程 我要投稿 更多频道 » - 导航条 - 首页 所有文章 资讯 Web ...

  7. Java程序员可能犯的3个常见SQL错误

    概述:Java程序员不仅要具备扎实的Java编程能力,在日常的工作当中往往还要涉及到其他语言的基础知识,尤其是SQL.那么哪些常见的SQL错误是程序员们容易犯的呢?让我们一起来看看吧! 你可能看到Ja ...

  8. 为什么说Java程序员到了必须掌握Spring Boot的时候?

    摘要: SpringBoot的来龙去脉. 原文:为什么说 Java 程序员到了必须掌握 Spring Boot 的时候? 微信公众号:纯洁的微笑 Fundebug经授权转载,版权归原作者所有. Spr ...

  9. 聊聊阿里社招面试,谈谈“野生”Java程序员学习的道路

    引言 很尴尬的是,这个类型的文章其实之前笔者就写过,原文章里,笔者自称LZ(也就是楼主,有人说是老子的简写,笔者只想说,这位同学你站出来,保证不打死你,-_-),原文章名称叫做<回答阿里社招面试 ...

随机推荐

  1. SpringBoot打成war包,部署Tomcat服务器

      1: 创建spring boot项目 使用 Spring initializr  可以直接选择创建包的方式 也可以选择在Pom中更改 <groupId>com.dgw</grou ...

  2. Flask容器化部署原理与实现

    本文将介绍Flask的部署方案:Flask + Nginx + uWSGI,并使用docker进行容器化部署,部署的实例来源 Flask开发初探,操作系统为ubuntu. Flask系列文章: Fla ...

  3. [ch04-05] 梯度下降的三种形式

    系列博客,原文在笔者所维护的github上:https://aka.ms/beginnerAI, 点击star加星不要吝啬,星越多笔者越努力. 4.5 梯度下降的三种形式 我们比较一下目前我们用三种方 ...

  4. 论文阅读 | Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks

    简述 在文本语义相似度等句子对的回归任务上,BERT , RoBERTa 拿到sota. 但是,它要求两个句子都被输入到网络中,从而导致巨大开销:从10000个句子集合中找到最相似的sentence- ...

  5. Aria2GUI for macOS - 百度网盘高速下载

    目录 一. aria2gui 1.1 下载地址:aria2gui 1.2 安装 1.2.1 方式一:手动安装 1.2.2 方式二:Homebrew安装 二. YAAW for Chrome 2.1 下 ...

  6. Prometheus笔记(一)metric type

    欢迎加入go语言学习交流群 636728449 Prometheus笔记(二)监控go项目实时给grafana展示 Prometheus笔记(一)metric type 文章目录 Prometheus ...

  7. MyBatis之MyBatis Generator逆向工程

    官网地址 http://mybatis.org/generator/ 下载地址 http://central.maven.org/maven2/org/mybatis/generator/mybati ...

  8. Sring+mybatis模拟银行转账

    实体类: package com.bjsxt.pojo; import java.io.Serializable; public class Account implements Serializab ...

  9. emmet的html和css使用技巧大全

    emmet html使用技巧大全 ! 初始化 >:后代+:兄弟^:向上*:乘法$:数字():分组#:id命名.:类命名 一.id,类命名p#infop.infoa[href=#] 二.后代:di ...

  10. 10分钟搞定nginx实现负载均衡

    10.1 负载均衡的概念 对用户请求的数据进行调度的作用 对用户访问的请求网站可以进行压力的分担 10.2 常见的代理方式 10.2.1 正向代理 10.2.2 反向代理 10.3 负载均衡的部署环节 ...