多年来,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. tp5引用第三方类vendor或extend(多种方法)

    extend 方法一:命名空间引入 我们只需要把自己的类库包目录放入EXTEND_PATH目录(默认为extend,可配置),就可以自动注册对应的命名空间,例如: 我们在extend目录下面新增一个l ...

  2. ThinkPHP5——模型关联(一对多关联)

    关联定义 一对多关联的情况也比较常见,使用hasMany方法定义,参数包括: hasMany('关联模型名','外键名','主键名',['模型别名定义']); 例如租客表和宿舍表,一个宿舍有多个租客, ...

  3. 不给糖果就捣乱,用Python绘制有趣的万圣节南瓜怪【华为云分享】

    关于万圣节 万圣节又叫诸圣节,在每年的11月1日,是西方的传统节日:而万圣节前夜的10月31日是这个节日最热闹的时刻.在中文里,常常把万圣节前夜(Halloween)讹译为万圣节(All Saints ...

  4. 程序计数器(PC)、堆栈指针(SP)与函数调用过程

    PC(program counter)是CPU中用于存放下一条指令地址的寄存器,SP为堆栈指针.下面将介绍函数调用过程中CPU对PC和SP这两个寄存器的操作. 假设有如下函数Fun Fun() { … ...

  5. Spring Quartz定时任务设置

    这里主要记录一下定时任务的配置,偏向于记录型的一个教程,这里不阐述Quartz的原理. 首先,在Spring配置文件里配置一个自己写好的一个包含执行任务方法的一个类. <bean id=&quo ...

  6. luogu P1082 同余方程 |扩展欧几里得

    题目描述 求关于 x的同余方程 ax≡1(modb) 的最小正整数解. 输入格式 一行,包含两个正整数 a,ba,b,用一个空格隔开. 输出格式 一个正整数 x,即最小正整数解.输入数据保证一定有解. ...

  7. luogu P1582 倒水 |数学

    题目描述 一天,CC买了N个容量可以认为是无限大的瓶子,开始时每个瓶子里有1升水.接着~~CC发现瓶子实在太多了,于是他决定保留不超过K个瓶子.每次他选择两个当前含水量相同的瓶子,把一个瓶子的水全部倒 ...

  8. RabbitMQ的三大交换器

    pom文件都是相同的 <?xml version="1.0" encoding="UTF-8"?> <project xmlns=" ...

  9. 伸展树(Splay tree)的基本操作与应用

    伸展树的基本操作与应用 [伸展树的基本操作] 伸展树是二叉查找树的一种改进,与二叉查找树一样,伸展树也具有有序性.即伸展树中的每一个节点 x 都满足:该节点左子树中的每一个元素都小于 x,而其右子树中 ...

  10. wxxcx_learn独立验证与REST

    模块,控制器,方法 validate  接口参数校验 独立验证(验证器对独立验证做了更好的封装) $date = [ 'name' => '111', 'email' => '123@qq ...