最近「技术最前线」看到 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. 【函数式】Monads模式初探——Endofunctor

    自函子 自函子(Endofunctor)是一个将范畴映射到自身的函子(A functor that maps a category to itself). 函子是将一个范畴转换到另一个范畴.所以自函子 ...

  2. iOS 8 中 UIAlertView 和 UIActionSheet 河里去了?

    iOS 8 中 UIAlertView 和 UIActionSheet 河里去了? 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商 ...

  3. ubuntu14.04上搭建android开发环境

    这几天心血来潮,想在ubuntu上写写android软件.所以就上网找些资料在ubuntu上搭建android环境.结果要么时不完整的,要么就是过时的. 所以我把我搭建android环境的过程写下了, ...

  4. Oracle 与 MySql 区别

    一.并发性 并发性是oltp数据库最重要的特性,但并发涉及到资源的获取.共享与锁定. mysql:mysql以表级锁为主,对资源锁定的粒度很大,如果一个session对一个表加锁时间过长,会让其他se ...

  5. 0x63树的直径与最近公共祖先

    凉 bzoj1999 先把树的直径求出来,从左往右枚举,对于当前位置i,找到满足限制并且最远的点j,当前位置最大值就是max(i~j区间内除直径外的子树路径长度最大值,1~i的长度,j~n的长度) 然 ...

  6. sublime的常用插件

    作为一个开发者你不可能没听说过SublimeText.不过你没听说过也没关系,下面让你明白. SublimeText是一款非常精巧的文本编辑器,适合编写代码.做笔记.写文章.它用户界面十分整洁,功能非 ...

  7. docker(部署常见应用):docker部署mysql

    上节回顾:docker(部署常见应用):docker部署nginx docker部署mysql:5.7.26 # 下载镜像 docker pull mysql: # 查看镜像 docker image ...

  8. 29. Divide Two Integers[M]两数相除

    题目 Given two integers dividend and divisor, divide two integers without using multiplication, divisi ...

  9. mysqls,为node.js而编写的sql语句生成插件 (crud for mysql).

    It is written in JavaScript,crud for mysql.You can also use transactions very easily. mysqls 一款专为nod ...

  10. Java 系列之spring学习--注解(三)

    一.注解 使用注解之前要开启自动扫描功能 <?xml version="1.0" encoding="UTF-8"?> <beans xmln ...