2016 年 Java 工具和技术的调查:IDEA 已超过
最近「技术最前线」看到 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 已超过的更多相关文章
- java的JSP技术
java的JSP技术 [toc] 1.JSP简介 Jsp技术是用来开发java web的页面显示的,所有MVC模型里面的视图层,所以视图层的开发 jsp不是编程语言,三个英文是java server ...
- java的poi技术写Excel的Sheet
在这之前写过关于java读,写Excel的blog如下: Excel转Html java的poi技术读,写Excel[2003-2007,2010] java的poi技术读取Excel[2003-20 ...
- Java Web编程技术学习要点及方向
学习编程技术要点及方向亮点: 传统学习编程技术落后,应跟著潮流,要对业务聚焦处理.要Jar, 不要War:以小为主,以简为宝,集堆而成.去繁取简 Spring Boot,明日之春(future of ...
- 《精通Hibernate:Java对象持久化技术详解》目录
图书信息:孙卫琴 电子工业出版社 第1章 Java应用分层架构及软件模型: 1.1 应用程序的分层体系结构 1.1.1 区分物理层和逻辑层 1.1.2 软件层的特征 1.1.3 软件分层的优点 1.1 ...
- java集群技术(转)
来源:http://blog.csdn.net/cdh1213/article/details/21443239 序言 越来越多的关键应用运行在J2EE(Java2, Enterprise Editi ...
- 2016最新Java笔试题集锦
更新时间:2015-08-13 来源:网络 投诉删除 [看准网(Kanzhun.com)]笔试题目频道小编搜集的范文“2016最新Java笔试题集锦”,供大家阅读参考, ...
- 2015第44周五Java集群技术(转)
从http://blog.csdn.net/cdh1213/article/details/21443239上看到这篇文章,感觉很不错,找好久没找到中文出处,最早看是从http://www.these ...
- 深入了解java集群技术
原文源自:http://blog.csdn.net/happyangelling/article/details/6413584 序言 越来越多的关键应用运行在J2EE(Java 2, Enterpr ...
- 10.Java 加解密技术系列之 DH
Java 加解密技术系列之 DH 序 概念 原理 代码实现 结果 结束语 序 上一篇文章中简单的介绍了一种非对称加密算法 — — RSA,今天这篇文章,继续介绍另一种非对称加密算法 — — DH.当然 ...
随机推荐
- 【函数式】Monads模式初探——Endofunctor
自函子 自函子(Endofunctor)是一个将范畴映射到自身的函子(A functor that maps a category to itself). 函子是将一个范畴转换到另一个范畴.所以自函子 ...
- iOS 8 中 UIAlertView 和 UIActionSheet 河里去了?
iOS 8 中 UIAlertView 和 UIActionSheet 河里去了? 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商 ...
- ubuntu14.04上搭建android开发环境
这几天心血来潮,想在ubuntu上写写android软件.所以就上网找些资料在ubuntu上搭建android环境.结果要么时不完整的,要么就是过时的. 所以我把我搭建android环境的过程写下了, ...
- Oracle 与 MySql 区别
一.并发性 并发性是oltp数据库最重要的特性,但并发涉及到资源的获取.共享与锁定. mysql:mysql以表级锁为主,对资源锁定的粒度很大,如果一个session对一个表加锁时间过长,会让其他se ...
- 0x63树的直径与最近公共祖先
凉 bzoj1999 先把树的直径求出来,从左往右枚举,对于当前位置i,找到满足限制并且最远的点j,当前位置最大值就是max(i~j区间内除直径外的子树路径长度最大值,1~i的长度,j~n的长度) 然 ...
- sublime的常用插件
作为一个开发者你不可能没听说过SublimeText.不过你没听说过也没关系,下面让你明白. SublimeText是一款非常精巧的文本编辑器,适合编写代码.做笔记.写文章.它用户界面十分整洁,功能非 ...
- docker(部署常见应用):docker部署mysql
上节回顾:docker(部署常见应用):docker部署nginx docker部署mysql:5.7.26 # 下载镜像 docker pull mysql: # 查看镜像 docker image ...
- 29. Divide Two Integers[M]两数相除
题目 Given two integers dividend and divisor, divide two integers without using multiplication, divisi ...
- mysqls,为node.js而编写的sql语句生成插件 (crud for mysql).
It is written in JavaScript,crud for mysql.You can also use transactions very easily. mysqls 一款专为nod ...
- Java 系列之spring学习--注解(三)
一.注解 使用注解之前要开启自动扫描功能 <?xml version="1.0" encoding="UTF-8"?> <beans xmln ...