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 ...
随机推荐
- git 入门教程之个性化 git
前情概要 初识 git 时,我们就已经接触过 git 的基本配置,使用 git config 命令配置用户名和邮箱: # 配置当前项目(`local`)的用户名(`snowdreams1006`) g ...
- (网页)HTML5 Canvas ( 事件交互, 点击事件为例 ) isPointInPath(转)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 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 ...
- 如何获取Azure AD tenant的tenant Id?
一般情况下,Azure AD用户知道自己tenant域名,因为域名是账户的后缀,例如:contoso.onMicrosoft.com.如果你还不了解什么是Azure AD tenant,可 ...
- JavaWeb 过滤器——验证登录 防止未登录进入界面
昨天刚刚完成老师布置的一个Web小项目,项目中用到了两个过滤器(编码过滤.登录过滤) 比如电商网页中有些不需要登录也能访问(首页.商品详细信息...),其他都需要过滤在会话作用域(session)中是 ...
- 一、Tableau基础
有关函数的官方文档:https://onlinehelp.tableau.com/current/pro/desktop/zh-cn/functions_functions_string.htm 注意 ...
- SSM框架—环境搭建(MyEclipse+Tomcat+MAVEN+SVN)
1.JDK的安装 首先下载JDK,这个从sun公司官网可以下载,根据自己的系统选择64位还是32位,安装过程就是next一路到底.安装完成之后当然要配置环境变量了. 1.1新建变量名:JAVA_HOM ...
- centos7 Docker私有仓库搭建及删除镜像
如果不想用私有镜像库,你可以用docker的库 https://hub.docker.com 环境准备 环境:两个装有Docker 17.09.0-ce 的centos7虚拟机 虚拟机一:192.16 ...
- Vue学习之路3-浅析Vue-cli搭建项目后的目录结构
1.前言 Vue并不限制你的代码结构.但是,它规定了一些需要遵守的规则:1.应用层级的状态应该集中到单个store对象中.2.提交mutation是更改状态的唯一方法,并且这个过程是同步的.3.异步逻 ...
- 2018-10-18读文献总结之DCB码分多址、零基线、信号产生
---恢复内容开始--- 今天心血来潮,想开始把自己读文献的过程和每篇文献的收获总结一下,不知道CSDN怎么回事,一直登陆不进去,搞得我注册了一个博客园的账户,博客园新注册的还需要认证,但是很快,所以 ...