最近「技术最前线」看到 RebelLabs 做了一次 2016 年 Java 工具与技术的调查,调查报告虽然是
6 月公布的,但数据一点也不过时。

所以「技术最前线」忙会了一中午,写了这篇文章,带大家一起看看一些值得关注数据。比如:

  • 46% 的在用 IntelliJ IDEA,已超过了 Eclipse 的 41%; (谁是 Java IDE 王者,已经有答案了)

  • Git 有 68% 份额,而 SVN 仅有 23%;(这个不出意外)

如果你想偷懒,可以直接拖到最后看总结,但十分不建议这么做啦~ 另外,本文已同步发布在伯乐头条(top.jobbole.com)网站。

一、总览

68% 的开发者用 Maven;

68% 的在用 Git;

46% 的在用 Intellij IDEA;

43% 的在用 Spring MVC

34% 的在用 微服务架构;

32% 的在用 Docker;

62% 的在用 Java 8;

60% 的在用 Jenkins;

42% 的在用 Tomcat;

39% 的在用 Oracle DB;

31% 的在用 Java EE 7;

29% 的在用 Spring Boot;

参与者的工作经验

74% 的程序员自认为高于平均水平

工作中主要项目的类型,67% 是全栈 Web 应用

是否采用了微服务架构?

在用哪种 JVM 语言?

Java 版本

Java EE 版本

Java IDE

构建工具

应用服务器(蓝色为生产环境,黄色为开发环境)

生产环境所用的数据库

二、趋势

Java SE 版本使用率(从2012年起)

Java EE 版本使用率(从2014年起)

Java IDE 使用率(从2012年起)

构建工具使用率 ↓

Web 框架使用率 ↓

版本控制系统 ↓

总结

  • 2040 名开发者参与;

  • 做全栈Web项目的开发者,平均大约有 10 - 12 年的工作经验;

  • 63% 的在大企业或中型工作就职;

  • 74% 的自认为高于业界平均水平;

  • 34% 采用了微服务架构;

  • 66% 并没有采用微服务,其中仅有 12% 的在未来有计划试试;

  • Java 8 是主流,62% 的参与者已经在生产环境用上了;

  • Java EE 7 , 31% 的参与者已经在用新版本了;

  • 42% 的根本不用 Java EE;

  • 46% 的在用 IntelliJ IDEA,已超过了 Eclipse 的 41%;

  • 68% 的在用 Maven ,Gradle 只有 16%.

  • Tomcat 是最受欢迎的应用服务器,高达 42%;

  • 39% 的参与者在用 Oracle DB ,稍微比 MySQL 的 38% 高了一点;

  • MongoDB 在最受欢迎的 NoSQL DB ,比例是 15% ;

  • Spring 依旧主宰着 Web 框架市场, Spring MVC 和 Spring Boot 的比例是 43% 和 29%;

  • Jenkins 主宰着 CI Server 市场,比例是 60% ;

  • Git 有 68% 份额,而 SVN 仅有 23%;

  • New Relic 在 APMs 有着 11% 份额;

  • 32% 的参与者在用 Docker ,但 54% 的根本没用虚拟化环境;

  • 71% 的参与者宣称自己是 Agile 的;

  • 未经伯乐在线许可,请勿转载;

过去四年的变化

  • Eclipse 的份额持续下降,而 IntelliJ 却稳步持续上升,已经在使用率超越了 Eclipse;

  • Maven 依旧保持着绝对的领先优势;

  • Gradle 增长缓慢,暂时还不足以挑战 Maven;

  • Spring 主宰着 Web 框架市场,从 2012 年到 2016 年持续增长中,特别是 Spring Boot 可以称为剧增;

  • JSF 在缓慢下降。Stripes、Tapestry、Wicket 和 Play 1 看样子要退出历史舞台了;

  • Git 展示了强劲的增长,从 27% 到 68%。而 SVN 却从 55% 降到 23%;

2016 年 Java 工具和技术的调查:IDEA 已超过的更多相关文章

  1. java的JSP技术

    java的JSP技术 [toc] 1.JSP简介 Jsp技术是用来开发java web的页面显示的,所有MVC模型里面的视图层,所以视图层的开发 jsp不是编程语言,三个英文是java server ...

  2. java的poi技术写Excel的Sheet

    在这之前写过关于java读,写Excel的blog如下: Excel转Html java的poi技术读,写Excel[2003-2007,2010] java的poi技术读取Excel[2003-20 ...

  3. Java Web编程技术学习要点及方向

    学习编程技术要点及方向亮点: 传统学习编程技术落后,应跟著潮流,要对业务聚焦处理.要Jar, 不要War:以小为主,以简为宝,集堆而成.去繁取简 Spring Boot,明日之春(future of ...

  4. 《精通Hibernate:Java对象持久化技术详解》目录

    图书信息:孙卫琴 电子工业出版社 第1章 Java应用分层架构及软件模型: 1.1 应用程序的分层体系结构 1.1.1 区分物理层和逻辑层 1.1.2 软件层的特征 1.1.3 软件分层的优点 1.1 ...

  5. java集群技术(转)

    来源:http://blog.csdn.net/cdh1213/article/details/21443239 序言 越来越多的关键应用运行在J2EE(Java2, Enterprise Editi ...

  6. 2016最新Java笔试题集锦

    更新时间:2015-08-13         来源:网络         投诉删除 [看准网(Kanzhun.com)]笔试题目频道小编搜集的范文“2016最新Java笔试题集锦”,供大家阅读参考, ...

  7. 2015第44周五Java集群技术(转)

    从http://blog.csdn.net/cdh1213/article/details/21443239上看到这篇文章,感觉很不错,找好久没找到中文出处,最早看是从http://www.these ...

  8. 深入了解java集群技术

    原文源自:http://blog.csdn.net/happyangelling/article/details/6413584 序言 越来越多的关键应用运行在J2EE(Java 2, Enterpr ...

  9. 10.Java 加解密技术系列之 DH

    Java 加解密技术系列之 DH 序 概念 原理 代码实现 结果 结束语 序 上一篇文章中简单的介绍了一种非对称加密算法 — — RSA,今天这篇文章,继续介绍另一种非对称加密算法 — — DH.当然 ...

随机推荐

  1. hdu1542 Atlantis(扫描线+线段树+离散)矩形相交面积

    题目链接:点击打开链接 题目描写叙述:给定一些矩形,求这些矩形的总面积.假设有重叠.仅仅算一次 解题思路:扫描线+线段树+离散(代码从上往下扫描) 代码: #include<cstdio> ...

  2. SQL SERVER读书笔记:内存

    系统先操作地址空间,真正要用的时候才申请物理内存,进行使用. Reserved Memory  保留内存,虚拟内存 Commited Memory 提交内存,物理内存 [如何判断SQL SERVER ...

  3. 数组map方法与如何使用ES5实现

    数组map方法与如何使用ES5实现 JavaScript Array map() 方法 定义 map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值. map() 方法按照原始数 ...

  4. C#缓存

    最近在学习缓存的知识,博客园中的 缓存资料 觉得信息不错值得学习

  5. 第6章 服务模式 在 .NET 中实现 Service Gateway(服务网关)

    上下文 您正在设计企业应用程序,该程序需要使用由其他应用程序提供的服务.该服务定义了一个合约,所有服务使用者要访问该服务都必须遵守该合约.该合约定义了与此服务通信所需的技术.通信协议和消息定义等内容. ...

  6. call by value 和 call by reference 的区别

    引用自https://zhidao.baidu.com/question/340173099.html Call by Value就是传值的方式,函数调用时是把实参的值传给形参,函数调用结束后形参的值 ...

  7. hdu3873 Invade the Mars 有限制的最短路

    此段略过.看完题目,觉得这真的是一道好题目.自己有想法,但是实现起来却很难.看题解,写代码,然后写题解,意义何在?我不认为自己总是这么弱.就算抄代码,我也要有自己的理解.菜鸟总会成长. 首先,题目必须 ...

  8. Java数组的运用

    Java数组 应用1: 大乐透彩票模拟器: 规则: 前区01-35中随机生成5个号码 后区01-12中随机生成2个号码 模拟操作,系统自动生成号码组合,并且按从小到大的顺序输出结果 同时要求可以选择生 ...

  9. TortoiseSvn问题研究(一)

    问题描述 今天在工作中遇到一个SVN方面的问题,牵扯出使用SVN这一段时间的一系列问题. 具体来说,是这样的: 上周五有上线分支,自己的分支需要merge: 很多项目小组都在开发这个项目,再往前好像也 ...

  10. linux中errno使用(转)

    当linux中的C api函数发生异常时,一般会将errno变量(需include errno.h)赋一个整数值,不同的值表示不同的含义,可以通过查看该值推测出错的原因,在实际编程中用这一招解决了不少 ...