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. IT帮2019年2月线下活动【定义工作,解读自我】之站桩练习

    2019年2月IT帮线下活动[定义工作,解读自我] 昨天的活动收获很大,全面的总结周老师会另写一篇来帮助大家回顾.我想说一下其中最打动我的一句话:“只有你能决定你有多优秀!” “工作中把自己当成企业家 ...

  2. ECharts的x轴和y轴均使用数值类型

    今天有个需求,就是需要ECharts的x轴和y轴都要使用数值类型,即xAxis.type和yAxis.type均为value,然后我按照我以为的方式修改了下,发现图崩了 发现问题: 然后我打开了ECh ...

  3. border-color与color

    1.border-color就是color,即border-color的默认颜色就是color 当没有指定border-color的时候,会使用color作为边框的颜色! 类似的还有text-shad ...

  4. Sql获取数据表字段说明

    SELECT Sysobjects.name AS TABLE_NAME , syscolumns.Id , syscolumns.name AS COLUMN_NAME , systypes.nam ...

  5. 设计模式之第12章-享元模式(Java实现)

    设计模式之第12章-享元模式(Java实现) “怎么回事,竟然出现了OutOfMemory的错误.鱼哥,来帮我看看啊.”“有跟踪错误原因么?是内存泄露么?”“不是内存泄露啊,具体原因不知道啊.对了,有 ...

  6. 【Minimum Path Sum】cpp

    题目: Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right w ...

  7. Python+Selenium框架设计篇之-什么是自动化测试框架

    1.什么是自动化测试框架 简单来说,自动化测试框架就是由一些标准,协议,规则组成,提供脚本运行的环境.自动化测试框架能够提供很多便利给用户高效完成一些事情,例如,结构清晰开发脚本,多种方式.平台执行脚 ...

  8. poj1111(单身快乐)

                                                                                                         ...

  9. 踩坑 Uncaught RangeError: Maximum call stack size exceeded

    今天遇到了一个错误, 堆栈溢出,很好奇就是一个简单ajax请求怎么会报这个错误,研究了一下,发现犯了一个很低级的错误,data的参数错误了: passWord是未定义的变量,值为空,然后导致了这个问题 ...

  10. table中填写数据并批量增加

    <table class = "table jtable table-bordered table-striped hide" id = "table_1" ...