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. js中123==123为false的问题--写成123=="123"即可解决问题

    项目中遇到过一个问题,js拿到后台返回的一个数字,在if中判断时,出现类似123==123为false的结果, 初步分析原因,应该是返回的是string类型的,但拿来比较的是个number类型的,所以 ...

  2. vue/vux编译时出现 unexpected token <11:0-485>

    最近开发Vux项目,一直使用VS Code开发工具,可以格式化里面的<script>代码的: 但是今天突然无法格式化代码,而且编译报错.主要提示类似:unexpected token  & ...

  3. 2、HTML基础总结 part-2

    1.表单一 <html> <body> <form> 姓名: <input type="text" name="name&quo ...

  4. Leetcode 502.IPO

    IPO 假设 LeetCode 即将开始其 IPO.为了以更高的价格将股票卖给风险投资公司,LeetCode希望在 IPO 之前开展一些项目以增加其资本. 由于资源有限,它只能在 IPO 之前完成最多 ...

  5. [oldboy-django][2深入django]后台生成form标签并设置标签的属性

    # Form生成html标签 a. 通过Form生成Input输入框,Form标签,以及submit标签还是要在前端写的, 但是Form标签内的Input标签可以在后台实现:只需要按以下步骤 - vi ...

  6. 【转】netstat 查看端口占用情况

    netstat用来查看系统当前系统网络状态信息,包括端口,连接情况等,常用方式如下: netstat -atunlp,各参数含义如下: -t : 指明显示TCP端口 -u : 指明显示UDP端口 -l ...

  7. 微信公众平台OAuth2.0网页授权

    微信公众平台最近新推出微信认证,认证后可以获得高级接口权限,其中一个是OAuth2.0网页授权,很多朋友在使用这个的时候失败了或者无法理解其内容,希望我出个教程详细讲解一下,于是便有了这篇文章. 一. ...

  8. Java精确测量代码运行时间 代码执行时间 纳秒 nanoTime

      Java精确测量代码运行时间:         long startTime = System.nanoTime();  //開始時間         for(int i = 0;i<100 ...

  9. hdu2586&&poj1330 求点间最短距&&最近公共祖先(在线&&离线处理):::可做模板

    How far away ? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  10. col-md-push-*和col-md-offset的区别

    实现方式的区别:col-md-offset-*,是利用margin-left实现的,col-md-push-*/col-md-pull-*是利用相对定位实现的. 效果的区别,col-md-offset ...