2018年Java生态行业报告
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确实能给开发者带来生产力提升。
2018年Java生态行业报告的更多相关文章
- 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 ...
- 【面试题】整理一下2018年java技术要领
整理一下2018年java技术要领 基础篇 基本功 面向对象的特征 final, finally, finalize 的区别 int 和 Integer 有什么区别 重载和重写的区别 抽象类和接口有什 ...
- 2018年Java面试题搜集
2018年Java面试题搜集 一.Servlet执行流程(浏览器访问servlet的过程容器) 客户端发起http请求,web服务器将请求发送到servlet容器,servlet容器解析url并根据w ...
- Java 生态碎片化 和 .NET生态的一致性
.NET Core是以MIT协议开源, Java是GPL协议开源.Java 8 SDK升级Oracle要收费这件事对于很多小公司是有着重大的影响的,Java生态越发碎片化,有众多的OpenJDK发行版 ...
- 2018年Java后端面试经历
楼主16年毕业,16年三月份进入上一家公司到今年3月底,所以这是一份两年工作经验面经分享. 都说金三银四,往些年都是听着过没啥特别的感觉.今年自己倒是确确实实体验了一把银四,从3月26裸辞到4月17号 ...
- SpringCloud初体验:五、Sidecar 将 PHP 这类非 Java 生态语言的服务接入 Spring Cloud
先起一个 Sidecar 服务,一个PHP服务一个应用,和PHP服务部署在同一台机子,通过 localhost 访问,这样就解决了网络开销,相当于本地进程间调用 Sidecar 服务比较简单, 1.这 ...
- 2018年Java面试题整理
面试是我们每个人都要经历的事情,大部分人且不止一次,这里给大家总结最新的2018年面试题,让大家在找工作时候能够事半功倍. 1. Switch能否用string做参数? a. 在 Java 7 之前 ...
- 2018的Java
少用复制黏贴 程序员很多时候都习惯复制黏贴,这里复制一点,那里复制一点,拼拼凑凑的搞出了一段代码.这是一种常态,毕竟没有必要重复造轮子,在开发的时候,讲究的是效率,讲究速度,有时候也是不得不这样做.但 ...
- java生态环境
Which Java package do I need? Software Developers: JDK (Java SE Development Kit). For Java Developer ...
随机推荐
- springboot 学习之路 6(集成durid连接池)
目录:[持续更新.....] spring 部分常用注解 spring boot 学习之路1(简单入门) spring boot 学习之路2(注解介绍) spring boot 学习之路3( 集成my ...
- 钉钉扫码登录web网站
钉钉扫码登录网站 前言 由于本公司前后台分离,这里主要讲述后台的实现逻辑与过程,前端相关的一略而过.前端我们采用的是把二维码内嵌到我们的网页中. 流程如下: 1.登录钉钉后台创建一个企业应用 2.根 ...
- SAP生产机该不该开放Debuger权限
前段时间公司定制系统在调用SAP RFC接口的时候报错了,看错误消息一时半会儿也不知道是哪里参数数据错误,就想着进到SAP系统里面对这个接口做远程Debuger,跟踪一下参数变量的变化,结果发现根本就 ...
- spring4笔记----web.xml中2.4以上版本Listener的配置
基本上没用过Servlet2.4以下版本,所以2.4版本以下不必学了 <?xml version="1.0" encoding="UTF-8"?> ...
- C# 反射给对象赋值遇到的问题——类型转换
反射给对象赋值遇到的问题——类型转换 给一个对象属性赋值可以通过PropertyInfo.SetValue()方式进行赋值,但要注意值的类型要与属性保持一致. 创建对象实例的两种方法: 1. 1 ...
- mssql sqlserver 禁止删除数据表中指定行数据(转自:http://www.maomao365.com/?p=5323)
转自:http://www.maomao365.com/?p=5323 摘要:下文主要讲述,如何禁止删除数据表中指定行数据 最近收到用户一个需求,禁止所有人删除”表A”中,ID 为1.2.3.4.5的 ...
- SQL WHERE 子句
WHERE 子句 如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句. 语法 SELECT 列名称 FROM 表名称 WHERE 列 运算符 值 释意:选取 [列] 来自 [ ...
- 自动化测试基础篇--Selenium iframe定位问题
摘自https://www.cnblogs.com/sanzangTst/p/7473437.html 有时候我们在定位的途中发现一个现象,元素就在那儿,不离不去,但是我们怎么整就是定不了位,这个时候 ...
- 更换jupyter notebook风格主题、修改默认工作路径(Ubuntu系统和Win系统)
默认的风格对代码关键词的颜色提醒很不明显,而且白色背景长久使用非常刺眼,所以考虑更换主题. 在更换途中,发现代码输出行,前几个字符被遮挡显示不出来,找了很久才解决,备忘一些要点. 1:替换主题方法 h ...
- win10安装nodejs遇到提示错误代码2503怎么办
我们在安装某个软件的时候,最闹心的就是遇到提示安装失败或错误,比如win10系统在安装nodejs遇到提示错误代码2503,遇见这个问题也不要慌张,今天小编就来告诉大家怎么解决这个问题. 1.打开智能 ...