http://www.baeldung.com/java-in-2017

 https://mp.weixin.qq.com/s?__biz=MzI4NjYwMjcxOQ==&mid=2247484069&idx=1&sn=89304b5c7bc883c9cf068a3e36fcd3c1 转

1.Java 采用率

2016年的数据使Java 7的采用率为29.5%,Java 8为64.3%。

今天 - 2017年4月(整整一年后)的数字看起来是截然不同的:

如您所见,Java 8的采用率已经达到了开发者社区的75%。

这是非常令人鼓舞的事件,这也意味着Java 9将会如愿以偿地到来。

接下来看看Spring和SpringBoot数字。

2.Spring 采用率

2016年的Spring 4 的采用率为81%,Spring 3的采用率为18%。

现在看看2017年的数字:

Spring 4的采用率从81%上升到85%,而Spring 3年则从18%下降到12%左右。

同样有趣的是,超过2%的开发人员使用了Spring5里程碑版本,这比使用Java 9里程碑的1%采用率要高出许多。

最后请注意,这些数字代表使用Spring的开发人员。总的来说,25.5%的开发人员回答说他们没有使用框架。

3. Spring Boot 采用率

在Spring生态系统中,看到了Boot取得了一些令人难以置信的采用率。去年,采用率为53% - 考虑到这个项目确实很新,所以采用率还是非常高的。

那么今年的增长依然强劲:

总之, Boot的采用率从53%上升到70%,同比增长率巨大。

4.IDE市场份额

现在是了解IDE的2017年市场份额的时候了:

去年的趋势非常明显 - Eclipse用户正流入到IntelliJ和NetBeans

去年Eclipse占据了48%的份额,现在为40.5%,一年时间下降了近10%的份额。

5. JVM语言

今年,我们在调查中提出了一个新问题 - “您是否使用其他基于JVM的语言?”

以下是超级有趣的结果:

Groovy显然超强一步,达到了40%的份额,Scala紧随其后,超过28.5%份额,Kotlin位居第3,达到了惊人的11.5%的份额。

请注意,此数据适用于“是”答案 - 正在使用其他JVM语言的开发人员。总的来说,57%的开发人员只使用Java。

6.构建工具市场份额

构建工具去年的情况是:Maven坐拥72.5%份额,Gradle为19%份额:

那么今年的数字却相当接近 - 令人惊讶的是,Maven的缓慢增长率已经达到了76%,而Gradle下降缓慢,份额只略低于18%。

构建工具市场似乎比Java生态系统的其他部分更加稳定,而Java生态变化很大、更快。

7.运行自己的博客?

在调查中增加了这个问题纯粹出于好奇心。其调查结果如下:

在此希望越来越多的开发者开始写作,把他们的工作总结出来分享给大家。

8.结论

2017年的数字非常有趣,在某些方面有些令人惊讶。

虽然距离Java 9发布还有只有几个月,Java 8的采用率却已经达到了75%。

Spring社区充分采用了Spring4 - 超过85%的份额,Spring Boot也高达70%,这意味着大多数Spring开发人员也在积极使用新的框架。

在IDE方面,IntelliJ正在从Eclipse获得与去年相同的市场份额,并且没有任何时候放缓迹象。

在构建工具景观方面更加波澜不惊,尽管去年没有发生重大的发布,但Maven仍然占主地位,并实际上获得了成功。

最后,JVM语言也得到了很大的关注 -考虑到参与调查的开发人员中有将近一半正在使用第二种语言。

2017年,这将是Java社区的激动人心的一年。

参考链接:http://www.baeldung.com/java-in-2017

作者:Eugen Paraschiv

java 相关软件使用趋势的更多相关文章

  1. JAVA相关基础知识

    JAVA相关基础知识 1.面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分, ...

  2. JAVA 相关资料

    在技术方面无论我们怎么学习,总感觉需要提升自已不知道自己处于什么水平了.但如果有清晰的指示图供参考还是非常不错的,这样我们清楚的知道我们大概处于那个阶段和水平. Java程序员 高级特性 反射.泛型. ...

  3. 分享一些JAVA相关资源

    前言 以前在学习JAVA时,因为搜索相关资源过于不便,所以在搜集了一些好用的资源之后,将此分享. 文档主要包括面试文档, JAVA的技术文档(如JAVA并发实战.设计模式之类),LINUX的相关文档以 ...

  4. Java 初级软件工程师 认证考试试卷1

    Java 初级软件工程师 认证考试试卷   笔试(A卷)   考试时间150分钟 总分 100分     姓    名_______________________ 身份证号_____________ ...

  5. java ee7 软件安装和环境配置

    1. java ee sdk 最新版下载地址 Java EE软件开发包(Software Development Kit, SDK) http://www.oracle.com/technetwork ...

  6. 在不重装系统的情况下撤底删除oracle数据库及oralce的相关软件

    先从控制面板删除oracle的相关应用及数据库, 删除系统变量 ORACLE_OEM_CLASSPATH=%JAVA_HOME%\lib\ext\access-bridge-64.jar;%JAVA_ ...

  7. 官网下载java相关资源

    官网下载java相关资源 官网地址:http://www.oracle.com 一.下载JDK 1.首先进入Downloads >> Java For Developers,如图 2.点击 ...

  8. Java机器学习软件介绍

    Java机器学习软件介绍 编写程序是最好的学习机器学习的方法.你可以从头开始编写算法,但是如果你要取得更多的进展,建议你采用现有的开源库.在这篇文章中你会发现有关Java中机器学习的主要平台和开放源码 ...

  9. 准备java编程软件与第一个java程序

    我们要用的java的编程软件叫做:eclipse windows上安装eclipse 首先需要一个浏览器 要下载eclipse最简单的方式就是在官网下载  官网:https://www.eclipse ...

随机推荐

  1. 03017_ajax

    1.Ajax概述 (1)什么是同步,什么是异步? ①同步现象:客户端发送请求到服务器端,当服务器返回响应之前,客户端都处于等待卡死状态: ②异步现象:客户端发送请求到服务器端,无论服务器是否返回响应, ...

  2. Python 命令总结

    本章内容 pip pip install -r requirement.py(里面写入需要安装的包的名字) pip install django==1.9            #需要安装那个版本 P ...

  3. 微信小程序-----校园头条详细开发之列表展示数据

    1.分类列表数据展示功能的实现 1.1 结构 1.2 代码实现 1.2.1  列表显示数据,.每次界面显示6条数据,发请求获取数据,动态存放 var app = getApp() Page({ dat ...

  4. Web 安全问题 rel="noopener nofollw"

    1. noopener 如果你需要用 a 标签打开一个标签页时,你会使用 target='_blank' 这个属性,此时你需要添加 rel='noreferrer noopener' 当你使用 tar ...

  5. yum 快速安装 Rabbitmq for CentOS6

    1.安装CENTOS6的系统. 2.配置源 ,说明:https://github.com/rabbitmq/erlang-rpm To use Erlang 20.x on CentOS 6: # I ...

  6. 微信小程序--问题汇总及详解之tab切换

    设置背景颜色就直接在page里设置    page {background-color: rgb(242, 242, 242);} tab切换: navigator 页面链接 传参的格式为url=&q ...

  7. mysql-Innodb事务隔离级别-repeatable read详解1

    经验总结: Python使用MySQLdb数据库后,如使用多线程,每个线程创建一个db链接,然后再各自创建一个游标cursor,其中第一个线程读一个表中数据为空,第二个写入该表一条数据并提交,第一个线 ...

  8. 【bzoj3295】[Cqoi2011]动态逆序对 线段树套SBT

    题目描述 对于序列A,它的逆序对数定义为满足i<j,且Ai>Aj的数对(i,j)的个数.给1到n的一个排列,按照某种顺序依次删除m个元素,你的任务是在每次删除一个元素之前统计整个序列的逆序 ...

  9. linux下编译libmysqlclient, 安装mysql-server mysql-client

    cmake . -DCMAKE_INSTALL_PREFIX=/home/zhangyawei/server/depends make make install 安装 mysql-server mys ...

  10. [luoguP2657] [SCOI2009]windy数(数位DP)

    传送门 f[i][j]表示位数为i,第i位为j的windy数的个数 先预处理出f数组. 求的时候先算没有前导0的答案,再算位数和给定的数相同的答案. #include <cmath> #i ...