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. leetcode-978. 最长湍流子数组

    leetcode-978. 最长湍流子数组 Points 数组 DP 题意 当 A 的子数组 A[i], A[i+1], ..., A[j] 满足下列条件时,我们称其为湍流子数组: 若 i <= ...

  2. ubuntu 安装PG10 更新packet 创建超级账号

    ubuntu 安装PG10 更新packet 创建超级账号 安装pg10 我的环境是16.04 server版本 MAC和windows 建议使用安装包 直接官网下载 echo 'deb http:/ ...

  3. 使用Navicat for Mysql连接mysql服务器

    使用Navicat for Mysql连接mysql服务器 在windows上用Navicat for Mysql 连接装在虚拟机Ubuntu上的mysql服务器时出现的问题的解决方案. Navica ...

  4. Flask中的CBV

    Flask中的CBV 第一种 class Index(views.MethodView): methods = ['GET', 'POST'] decorators = [] def get(self ...

  5. Python:字符串格式化

    Python中提供了多种格式化字符串的方式,遇到一个项目,在一个文件中,就用了至少两种方式.特别是在使用Log时,更让人迷惑. 因此特地花时间来了解一下Python中字符串格式化的几种方式: # -* ...

  6. python Docker 查看私有仓库镜像

      pip 安装: 首先安装epel扩展源: yum -y install epel-release 更新完成之后,就可安装pip: yum -y install python-pip 安装完成之后清 ...

  7. June. 20 2018, Week 25th. Wednesday

    Be brave. Take risks. Nothing can substitute experience. 要敢于冒险,你的经历是无可替代的. From Paulo Coelho. Each s ...

  8. MATLAB简易画图

    给定一组特殊点,连线作图 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 以成绩隶属函数为例: score.m cj_x1=[ 0.1]; cj_y1= ...

  9. JavaScript数组对象详情

    Array 数组概述 Array 类型是 ECMAScript 最常用的类型.javaScript 中的 Array 类型和其他语言中的数组有着很大的区别. 虽然数组都是有序排列,但 javaScri ...

  10. 面试总结——JVM篇

    前言:该篇主要对Java虚拟机相关的题目进行介绍. JVM篇 基本上在面试的时候,都会或多或少的涉及JVM,主要看面试官的侧重点,笔者在面试过程中,是通过volatile问题,引导了JVM相关问题上的 ...