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. day39---mysql基础三

    1.索引: 字典得目录,便于数据查找. 原理:将列信息存储在其相关的文件,这些信息使用便于检索的方式如B-tree.哈希来存储 索引的分类: 普通所有:name,只能帮助查找 唯一索引:name,帮助 ...

  2. jmeter+ANT+Jekins性能自动生成测试报告脚本(模板),加入:Median TIme、90%、95%、99%、QPS、以及流量显示

    <?xml version="1.0"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/T ...

  3. [错误处理]AttributeError: 'generator' object has no attribute 'next'

    在python3下学习yield用法. 程序如下: def bar(n): m = n while True: m += 1 yield m b = bar(3) print(b.next()) 程序 ...

  4. zookeeper 集群

    集群步骤: 1.安装zookeeper 2.修改zookeeper配置文件 3.创建myid文件 安装zookeeper:查看安装步骤 修改zookeeper配置文件:在zoo.cfg中添加配置 se ...

  5. 安装配置apache sentry服务

    环境 系统环境:Centos6.7 Hadoop版本:CDH5.10 jdk版本:jdk7 注:本文并未集成kerberos组件 安装Sentry Server 选择安装hive的节点进行安装测试: ...

  6. CLion 使用笔记(三)

    我已经在博客里面发布了好几篇 CLion 使用笔记了,没追究这是第几篇,姑且算作第三篇. 我的 CLion 是搭配了 MSYS2 和 Conan 使用的.MSYS2 提供 C++ toolchain. ...

  7. BZOJ 1975 魔法猪学院(A*+手写堆)

    1975: [Sdoi2010]魔法猪学院 Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 1941  Solved: 595 [Submit][Sta ...

  8. [暑假集训--数论]poj1730 Perfect Pth Powers

    We say that x is a perfect square if, for some integer b, x = b 2. Similarly, x is a perfect cube if ...

  9. Python之面向对象:属性

    一.属性定义 1.类属性 类属性定义在类中且在函数体之外:类属性通常不作为实例属性使用:类变量紧接在类名后面定义 类属性的引用:类名.count eg:Employee.count 实例中可以引用类的 ...

  10. MYSQL常用的Show命令笔记

    1.查询数据库 SHOW DATABASES; 2.查询数据库中表 SHOW TABLES; SHOW TABLES FROM db; 3.查询表索引 SHOW INDEX FROM table 4. ...