第七十五期:Java 2019 生态圈使用报告,这结果你赞同吗?

这是国外一机构调查了 7000 名开发者得出来的 Java 2019 年生态圈工具使用报告,主要调查了 Java 版本、开发框架、web 服务器等使用情况。

作者:平头哥来源

这是国外一机构调查了 7000 名开发者得出来的 Java 2019 年生态圈工具使用报告,主要调查了 Java 版本、开发框架、web 服务器等使用情况。虽然只有 7000 名开发者参与调查,这数目对于互联网从业者开始可以忽略不计,但是当你看完这份报告之后,再结合自身周围的情况,我相信你会非常认同这份调查报告,因为它真的太有代表性啦。

1、JDK 版本使用情况 

Java13 在前段时间也正式发布了,这份调查是在 Java13 发布之前,所以 Java13 不在统计范围之内。从这份统计中可以看出 Java 8 的使用者有高达 80%。这跟我们国内情况是差不多的,大部分公司都在使用 Java8 做开发,这个结果一点都不意外,Java8 的新特性确实能给开发者带来不少的便利之处,而且很多开源组件都要求使用 Java8。

2、Spring Framework 的使用

Spring Framework 的使用

对于这个调查结果,我没有发言权,因为我现在都使用 Spring Boot 框架做开发,所以对这个不熟悉。

3、Spring Boot 的使用

Spring Boot 是当下最流行的 Java Web 开发框架,不管是在这份报告中还是我们工作中都可以体现这一点,你去看看现在的 Java 招聘条件都会有这么一条:熟练使用 Spring Boot 开源框架。所以你应该知道 Spring Boot 的热度了吧,如果你不会的话,赶紧去学习一下,不然都不好意思说自己是 Java程序员。说到学习 Spring Boot ,我强烈建议你去看小马哥著作《Spring Boot 编程思想》

4、构建工具的使用

构建工具的使用

这统计结果应该不意外吧,虽然说 Gradle 发展势头不错,但使用者以安卓开发为主,对于 Java 后端人员来说,大部分人都用着老牌的 Maven 来作为构建工具

5、web 服务器的使用

web 服务器的使用

Tomcat 几乎占领了整个 web 服务器市场,这个结果我一点都不惊讶,因为 Tomcat 本来市场占有率就很高,再搭着 Spring Boot 这股东风,它能够更上一层楼。

6、数据库的使用

图片描述

数据库上一直都是百家齐放,不管是以前还是现在亦或是未来,它都将呈现这个态势,因为它跟其他工具不一样,其他工具你可以选择某一种就能达成你的目的,但是数据库不行,每种数据库都有自己的优势,有自己的特定应用场景,比如你公司项目使用 MySQL 来存储数据,当需要使用到缓存时,MySQL 又不适合,可能就引入了更适合做缓存的 Redis。

7、编辑器的使用

说实话这结果挺让我意外的,没想到 Eclipse 占比居然这么高,我以为基本上没人使用  Eclipse 啦,看来我还是太天真了,自从使用 IDEA 后,我就再也回不去啦,因为它真的是太好用啦。

看完这份报告之后,你是不是觉得这份统计好像非常符合你周围的情况?反正挺符合作者这边的情况的,比那些培训结构统计的互联网开发人员的薪资报告要靠谱不少。这份报告一定程度上体现了当下的 Java 开发使用技术栈,特别是 web 框架这一块,非常能够体现当前的 Java 后端开发使用技术。

阅读目录(置顶)(长期更新计算机领域知识)https://blog.csdn.net/weixin_43392489/article/details/102380691

阅读目录(置顶)(长期更新计算机领域知识)https://blog.csdn.net/weixin_43392489/article/details/102380882

阅读目录(置顶)(长期科技领域知识)https://blog.csdn.net/weixin_43392489/article/details/102600114

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

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

相关文章

[Leetcode][第486题][JAVA][预测赢家][动态规划][递归]

【问题描述】[中等] 【解答思路】 1.递归 复杂度 class Solution {public boolean PredictTheWinner(int[] nums) {return total(nums,0,nums.length-1,1) >0;}//turn 标记轮到谁了 正数表示先手 负数表示后手 public int total( int[]nums ,int start,int end,int tur…

linux-2.6.38 input子系统(用输入子系统实现按键操作)

一、设备驱动程序 在上一篇随笔中已经分析,linux输入子系统分为设备驱动层、核心层和事件层。要利用linux内核中自带的输入子系统实现一个某个设备的操作,我们一般只需要完成驱动层的程序即可,核心层和事件层内核已经帮我们做好了。因此这篇随…

LinkedList专题2

203 Remove Linked List Elements 思路:考虑1 : 可能有多个节点符合;考虑2:命中节点是head;考虑3:命中节点是尾节点;考虑4:命中节点是中间的普通节点。 学习1:在linked…

第四十一期:一道经典的MySQL面试题,答案出现三次反转

前几天偶然看到大家在讨论一道面试题,而且答案也不够统一,我感觉蛮有意思,在此就做一个解读,整个过程中确实会有几处反转。 作者:杨建荣的学习笔记来源:今日头条 前几天偶然看到大家在讨论一道面试题&…

java面试题1 牛客:A派生出子类B,B派生出子类C,并且在java源代码中有如下声明:

懵逼树上懵逼果,懵逼树下你和我 第一题 [单选题] A派生出子类B,B派生出子类C,并且在java源代码中有如下声明: 1 2 3 A a0new A(); A a1new B(); A a2new C(); 以哪个说法是正确的 A第1行,第2行和第3行的声明都是正…

[Leetcode][第81题][JAVA][N皇后问题][回溯算法]

【问题描述】[困难] 【解答思路】 1. 主副对角线列 标记 复杂度 import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Deque; import java.util.List;public class Solution {private int n;// 记录某一列是否放置了皇后private boolean[] col;// 记…

[Leetcode][第257题][JAVA][二叉树的所有路径][BFS][DFS]

【问题描述】[简单] 【解答思路】 1. DFS 时间复杂度&#xff1a;O(N^2) 空间复杂度&#xff1a;O(N^2) class Solution {public List<String> binaryTreePaths(TreeNode root) {List<String> paths new ArrayList<String>();constructPaths(root, "…

Depth-first Search深度优先搜索专题1

104. Maximum Depth of Binary Tree 思路&#xff1a;顺着树的一个分支一直数层数直到叶子节点。DFS的思路。这个题目可以练习的是递归转迭代。 代码 695. Max Area of Island 思路&#xff1a;遇到点i,j;如果grid[i][j]没有被访问过&#xff0c;并且等于1&#xff0c;那么…

作用域和数组

作用域 就是一对大括号{} 作用域的的特点在作用域内部声明的变量,只能在这个作用域使用 数组 array 一组类型相同的数(值)1.数组一旦定义好长度就不能改变了2.数组访问摸个数据的方式 数组以下标(index)的方式获取数据 数组的声明 定义10个学员的成绩/两只之间以,隔开…

Depth-first Search深度优先搜索专题2

199. Binary Tree Right Side View 思路&#xff1a;想要得到树的每一层最右侧元素值&#xff0c;用BFS最方便。先访问左节点再访问右节点&#xff0c;最后访问的一个值就是留下的值。 想要DFS的思路也可以。只是一定要访问所有节点。 代码 491 Increasing Subsequences …

[Leetcode][第60题][JAVA][第k个排列][回溯][DFS][剪枝]

【问题描述】[中等] 【解答思路】 1. 回溯搜索算法 剪枝 &#xff0c;直接来到叶子结点 时间复杂度&#xff1a;O(N^2) 空间复杂度&#xff1a;O(N) import java.util.Arrays;public class Solution {/*** 记录数字是否使用过*/private boolean[] used;/*** 阶乘数组*/priv…

机器学习中的数学--数学知识复习

机器学习 机器学习三个部分&#xff1a;编程能力数学统计知识业务知识 机器学习分类 1 监督学习&#xff1a;例如分类、房价预测 2 无监督学习&#xff1a;例如聚类 3 强化学习&#xff1a;例如动态系统、机器人控制系统 机器学习算法 是否连续无监督有监督连续聚类 &am…

【数据结构与算法】【算法思想】拓扑排序

一、拓扑排序 拓扑排序是基于依赖关系的节点&#xff0c;根据依赖关系而生成的序列。节点和依赖关系往往要生成有向无环图。类似的问题有&#xff1a;穿衣服裤子的先后关系&#xff0c;生成穿衣序列/专业课程与前置课程形成的课程学习序列/代码编译依赖关系形成的编译顺序序列…

java面试题5 牛客:下列关于JavaBean的说法正确的是:

下列关于JavaBean的说法正确的是&#xff1a; A:Java文件与Bean所定义的类名可以不同&#xff0c;但一定要注意区分字母的大小写 B:在JSP文件中引用Bean&#xff0c;其实就是用语句 C&#xff1a;被引用的Bean文件的文件名后缀为.java D:Bean文件放在任何目录下都可以被引用…

Depth-first Search深度优先搜索专题3

473. Matchsticks to Square 思路&#xff1a;有n根长度不一的火柴&#xff0c;这些火柴可以拼接在一起&#xff0c;但不能被折断。这些火柴能够围城一个正方形吗&#xff1f;每个火柴可以并且必须使用一次。分析得到每个边的长度应该是所有火柴长度和的1/4。接下来就是将火柴…

java面试题6 牛客:哪个关键字可以对对象加互斥锁?

哪个关键字可以对对象加互斥锁&#xff1f;&#xff08;&#xff09; A synchronized B volatile C serialize D static synchronized的4种用法 1.方法声明时使用,放在范围操作符(public等)之后,返回类型声明(void等)之前.这时,线程获得的是成员锁,即一次只能有一个线程进…

[Leetcode][第347题][JAVA][前K个高频元素][优先队列][堆][遍历set/map]

【问题描述】[中等] 【解答思路】 1. 堆 复杂度 class Solution {public int[] topKFrequent(int[] nums, int k) {Map<Integer, Integer> occurrences new HashMap<Integer, Integer>();for (int num : nums) {occurrences.put(num, occurrences.getOrDefault…

Depth-first Search深度优先搜索专题4

576. Out of Boundary Paths 思路&#xff1a;这道题目难倒了我。最直接的思路是暴力搜索。要注意的问题1是需要仔细观察Example2&#xff0c;轨迹不同意思是可以从A点到B点&#xff0c;再从B点到A点也可以&#xff0c;只要step够用。所以暴力搜索&#xff0c;在(i,j)点在步骤…

java面试题7 牛客:关于AWT和Swing说法正确的是?

关于AWT和Swing说法正确的是&#xff1f; A Swing是AWT的子类 B AWT在不同操作系统中显示相同的风格 C AWT不支持事件类型&#xff0c;Swing支持事件模型 D Swing在不同的操作系统中显示相同的风格 AWT和Swing都是java中的包。 AWT(Abstract Window Toolkit)&#xff1a;…

bwa比对软件的使用以及其结果文件(sam)格式说明

一、bwa比对软件的使用 1、对参考基因组构建索引 bwa index -a bwtsw hg19.fa # -a 参数&#xff1a;is[默认] or bwtsw&#xff0c;即bwa构建索引的两种算法&#xff0c;两种算法都是基于BWT的&#xff08;BWT search while the CIGAR string by Smith-Waterman alignment.…