0 Java版本使用占比

毫无疑问,Java8被广泛用于生产环境!

 

Java 9和Java 10的使用率非常低,不到5%。

2017年,Java 7和更早的版本的数量大约是24.4%,现在是10.6%——所以生态系统显然正在升级,主要是升级到Java 8。

1 Spring版本使用占比

Spring 4是现阶段应用最广泛的版本。

 

很多开发者,正在向Spring 5进行迁移,Spring 5的比例由去年的百分之2.2上升到今年的百分之24,这是一个明显的趋势!

2 Spring boot版本使用占比

Spring boot真的是给Java开发者带来了福音,解放了很多劳动力。现在凡是采用Spring构建的系统,基本上都是用了Spring boot。

 

去年,大约30.2%的基于Spring的应用程序只使用核心框架,但没有使用Boot;现在,这个数字只有16.7%。简而言之,大多数Spring应用程序现在都使用Boot。

Spring Boot 2的占比上升很迅速,已经占到了百分之30!Boot 1.4以及更老的版本由去年的百分之30降为百分之6.8。

3 编译工具使用占比

Maven依然占据着最大的市场份额,百分之74.2。

 

至于Gradle,它占据了市场的一小部分,主要来自Ant规模的缩小,现在只占市场的五分之1 ,即百分之21.3。

4 开发工具使用占比

IntelliJ Idea由去年的45.8%增长到今天的55.4%,显然赢得了今年Java领域的IDE王者之战。

 

NetBeans今年降至5.1%,不到2017年12.4%的一半。Eclipse依然占据百分之30多。有趣的是,IntelliJ获得的大部分市场份额令人惊讶地来自NetBeans,而不是Eclipse。

5 Web应用服务器使用占比

Tomcat,毫无疑问依然是王者!占据百分之62.5的市场!

 

其他应用服务器则相对均匀的瓜分剩余的市场!各占大约百分之5的样子!

6 JVM语言使用占比

Java占据百分之62.8,王者!

 

对剩余的JVM语言,画一个饼状图,不得不提Kotlin--这是一个疯狂的一年,从2017年的11.4跃升至今天的28.8%

 

7 总结

2018年的Java生态系统,非常的有趣,证实了一些已经众所周知的趋势,并带来了一些新的变化。

在IDE方面,IntelliJ仍在以强劲的步伐增长。而且,Kotlin可能是今年最大的“赢家”,未来或许可以改变JVM语言的格局。

Spring Boot现在被大多数Spring项目所采用,这已经不足为奇了,但这么短的时间内,获得这么大的进步,说明Boot确实能给开发者带来生产力提升。

作者:帝都羊 出处:http://3xmq.cnblogs.com/

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如果觉得还有帮助的话,可以点一下右下角的【推荐】

2018年Java生态行业报告的更多相关文章

  1. phoenix连接hbase数据库,创建二级索引报错:Error: org.apache.phoenix.exception.PhoenixIOException: Failed after attempts=36, exceptions: Tue Mar 06 10:32:02 CST 2018, null, java.net.SocketTimeoutException: callTimeou

    v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...

  2. 【面试题】整理一下2018年java技术要领

    整理一下2018年java技术要领 基础篇 基本功 面向对象的特征 final, finally, finalize 的区别 int 和 Integer 有什么区别 重载和重写的区别 抽象类和接口有什 ...

  3. 2018年Java面试题搜集

    2018年Java面试题搜集 一.Servlet执行流程(浏览器访问servlet的过程容器) 客户端发起http请求,web服务器将请求发送到servlet容器,servlet容器解析url并根据w ...

  4. Java 生态碎片化 和 .NET生态的一致性

    .NET Core是以MIT协议开源, Java是GPL协议开源.Java 8 SDK升级Oracle要收费这件事对于很多小公司是有着重大的影响的,Java生态越发碎片化,有众多的OpenJDK发行版 ...

  5. 2018年Java后端面试经历

    楼主16年毕业,16年三月份进入上一家公司到今年3月底,所以这是一份两年工作经验面经分享. 都说金三银四,往些年都是听着过没啥特别的感觉.今年自己倒是确确实实体验了一把银四,从3月26裸辞到4月17号 ...

  6. SpringCloud初体验:五、Sidecar 将 PHP 这类非 Java 生态语言的服务接入 Spring Cloud

    先起一个 Sidecar 服务,一个PHP服务一个应用,和PHP服务部署在同一台机子,通过 localhost 访问,这样就解决了网络开销,相当于本地进程间调用 Sidecar 服务比较简单, 1.这 ...

  7. 2018年Java面试题整理

    面试是我们每个人都要经历的事情,大部分人且不止一次,这里给大家总结最新的2018年面试题,让大家在找工作时候能够事半功倍.  1. Switch能否用string做参数? a. 在 Java 7 之前 ...

  8. 2018的Java

    少用复制黏贴 程序员很多时候都习惯复制黏贴,这里复制一点,那里复制一点,拼拼凑凑的搞出了一段代码.这是一种常态,毕竟没有必要重复造轮子,在开发的时候,讲究的是效率,讲究速度,有时候也是不得不这样做.但 ...

  9. java生态环境

    Which Java package do I need? Software Developers: JDK (Java SE Development Kit). For Java Developer ...

随机推荐

  1. git 入门教程之个性化 git

    前情概要 初识 git 时,我们就已经接触过 git 的基本配置,使用 git config 命令配置用户名和邮箱: # 配置当前项目(`local`)的用户名(`snowdreams1006`) g ...

  2. (网页)HTML5 Canvas ( 事件交互, 点击事件为例 ) isPointInPath(转)

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. MyBatis笔记----(2017年)最新的报错:Cannot find class [org.apache.commons.dbcp.BasicDataSource] for bean with name 'dataSource' defined in class path resource [com/ij34/mybatis/applicationContext.xml]; nested e

    四月 05, 2017 4:56:11 下午 org.springframework.context.support.ClassPathXmlApplicationContext prepareRef ...

  4. 如何获取Azure AD tenant的tenant Id?

          一般情况下,Azure AD用户知道自己tenant域名,因为域名是账户的后缀,例如:contoso.onMicrosoft.com.如果你还不了解什么是Azure AD tenant,可 ...

  5. JavaWeb 过滤器——验证登录 防止未登录进入界面

    昨天刚刚完成老师布置的一个Web小项目,项目中用到了两个过滤器(编码过滤.登录过滤) 比如电商网页中有些不需要登录也能访问(首页.商品详细信息...),其他都需要过滤在会话作用域(session)中是 ...

  6. 一、Tableau基础

    有关函数的官方文档:https://onlinehelp.tableau.com/current/pro/desktop/zh-cn/functions_functions_string.htm 注意 ...

  7. SSM框架—环境搭建(MyEclipse+Tomcat+MAVEN+SVN)

    1.JDK的安装 首先下载JDK,这个从sun公司官网可以下载,根据自己的系统选择64位还是32位,安装过程就是next一路到底.安装完成之后当然要配置环境变量了. 1.1新建变量名:JAVA_HOM ...

  8. centos7 Docker私有仓库搭建及删除镜像

    如果不想用私有镜像库,你可以用docker的库 https://hub.docker.com 环境准备 环境:两个装有Docker 17.09.0-ce 的centos7虚拟机 虚拟机一:192.16 ...

  9. Vue学习之路3-浅析Vue-cli搭建项目后的目录结构

    1.前言 Vue并不限制你的代码结构.但是,它规定了一些需要遵守的规则:1.应用层级的状态应该集中到单个store对象中.2.提交mutation是更改状态的唯一方法,并且这个过程是同步的.3.异步逻 ...

  10. 2018-10-18读文献总结之DCB码分多址、零基线、信号产生

    ---恢复内容开始--- 今天心血来潮,想开始把自己读文献的过程和每篇文献的收获总结一下,不知道CSDN怎么回事,一直登陆不进去,搞得我注册了一个博客园的账户,博客园新注册的还需要认证,但是很快,所以 ...