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. kettle Spoon.bat闪退解决办法!

    1.Java环境配置问题: java_home:D:\Program Files\Java\jdk1.7.0_25(安装jdk路径) classpath:.;%java_home%\lib\dt.ja ...

  2. loj2061 「HAOI2016」放棋子

    答案就是错排数 n = int(input()) f = [0] * 205 f[0] = 1 for i in range(2, n+1): f[i] = (i-1) * (f[i-1] + f[i ...

  3. app分享代码

    友推是一款是面向移动应用的SDK分享组件,提供给开发者集成使用.通过友推,开发者可以轻松集成社会化分享功能,同时创建及管理推荐好友使用您应用的推荐奖励活动,用户推荐好友安装使用您的应用即可获得推荐奖励 ...

  4. 『编写高质量代码Web前端开发修炼手册』读书笔记--高质量的CSS

    1.怪异模式和DTD 标准模式:浏览器根据规范表现页面 怪异模式:模拟老浏览器行为防止老站点无法工作(为了兼容老式浏览器的代码),如果漏写DTD(Document Type Definition文档定 ...

  5. 图说不为人知的IT传奇故事-1-计算机新生

    此系列文章为“图说不为人知的IT传奇故事”,各位大忙人可以在一分钟甚至几秒内了解把握整个内容,真可谓“大忙人的福利”呀!!希望各位IT界的朋友在钻研技术的同时,也能在文学.历史上有所把握.了解这些故事 ...

  6. maven学习(十三)——eclipse整合maven插件

    一.安装Maven插件 下载下来的maven插件如下图所示:,插件存放的路径是:E:/MavenProject/Maven2EclipsePlugin

  7. 【bzoj1531】[POI2005]Bank notes 多重背包dp

    题目描述 Byteotian Bit Bank (BBB) 拥有一套先进的货币系统,这个系统一共有n种面值的硬币,面值分别为b1, b2,..., bn. 但是每种硬币有数量限制,现在我们想要凑出面值 ...

  8. redis学习(五)事务

    事务是一个单独的隔离操作:事务中的所有命令都会序列化.按顺序地执行.事务在执行的过程中,不会被其他客户端发送来的命令请求所打断. 1.事务基本命令: multi:标记一个事务块的开始 exec:执行所 ...

  9. Python 读取 pkl文件

    使用python 的cPickle 库中的load函数,可以读取pkl文件的内容 import cPickle as pickle fr = open('mnist.pkl') #open的参数是pk ...

  10. SELECT中的CAST

    SELECT CAST a.b AS int 语法意义 把表别名A的B列的数据类型变为INT