2016年,谁是最受欢迎的 Java EE 服务器?
【编者按】本文作者为性能监控工具 Plumbr 创始人 Nikita Salnikov-tarnovski,主要介绍2016年度最广为使用的 Java EE 容器及其排名变化情况。本文系国内 ITOM 管理平台 OneAPM 编译呈现,以下为正文。
这是我们发布Java领域数据的第四年。每年春季,我们都会对JVMs Plumbr 探针所收集的数据进行分析,并试图回答以下问题:
- 各个Java 版本的使用情况(Java6、Java 7以及Java 8);
- 各种JVM的使用情况(Oracle Hotspot ,OpenJDK 以及其他JVM);
- 在基础架构中哪种应用服务器最常被安装;
- 在这段时间Java领域发生了何种变化;
上周,我们发布了关于Java版本与供应商的数据。这周我们将继续发布应用服务器市场的状态数据。
以下结论基于2016年1月至3月1240个受Plumbr监控的JVM数据。这些数据都是在JVM内部通过System.getProperty()函数调用os.arch, os.version, java.version等属性收集的。
2015年哪种Java EE容器使用最广泛?
从我们收集的1240条不同数据源中,可以识别862个场景或是约70%的环境中的容器供应商。这些容器供应商分布如下:

Tomcat保有量已经连续两年超过50%的份额,今年占比58.22%的它无疑是冠军。除Tomcat之外,拥有较大保有量的四家供应商分别为:
- JBoss/WildFly,安装量占市场份额的20.22%
- Jetty,占据了10.67%的份额
- GlassFish,占据了饼图的5.56%
- Oracle WebLogic ,安装量占比为2.44%
名为“其他”的条目代表着安装量少于2.5%的供应商们。其中包括Resin, Orion, OC4J, SAP NetWeaver 和IBM WebSphere deployments,它们测得的部署量都少于五条。
我们无法检测到Java EE容器的剩余JVM通常是如下状况:
- 使用Swing或者AWT的桌面应用程序
- 正在运行动态语言(比如Scala或Groovy)
- 无容器服务器软件(Elasticsearch, TIBCO 等等)
- 使用Netty(Play框架)
- 或隐藏在开发环境启动器中(Maven,sbt, IDEA, Eclipse 等等)
2013-2016年Java EE容器使用情况
根据2013-2016年间录得的相同类型数据,我们进行了分析比对,得到以下数据:

首先,在对这些随时间变化的数据进行解释时应当持保留态度。譬如说,Jetty从它之前的辉煌成绩到2015年只剩下原先三分之一的保有量,很有可能是因为Plumbr在这一年从开发工具转型为监控解决方案。这导致,使用其他Java EE的生产部署方案取代了开发者友好的Jetty的份额。
在2015年的变化中,Oracle Weblogic使用量降至原来的三成不到也是十分引人关注的现象。这到底是由于公司们开始放弃Oracle,还是因为使用Plumbr的公司类型太过多样,目前还无法确定。
不过,有一件事是确定的:在所有监控的JVM中,Tomcat安装量连续两年占比接近60%。考虑到Tomcat在最初设计时只是一个参考实现,以及其他供应商在宣传自己的容器时投入的巨大努力,这实在是个不可思议的结果。
OneAPM 能为您提供端到端的 Java 应用性能解决方案,我们支持所有常见的 Java 框架及应用服务器,助您快速发现系统瓶颈,定位异常根本原因。分钟级部署,即刻体验,Java 监控从来没有如此简单。想阅读更多技术文章,请访问 OneAPM 官方技术博客。
本文转自 OneAPM 官方博客
原文地址:https://dzone.com/articles/most-popular-java-ee-servers-2016-edition
2: http://www.oneapm.com/solutions/value 1: http://blog.oneapm.com/tags-Java.html
2016年,谁是最受欢迎的 Java EE 服务器?的更多相关文章
- 各种容器与服务器的区别与联系:Servlet容器、WEB容器、Java EE容器、应用服务器、WEB服务器、Java EE服务器
1.容器与服务器的联系 如上图,我们先来看下容器与服务器的联系:容器是位于应用程序/组件和服务器平台之间的接口集合,使得应用程序/组件可以方便部署到服务器上运行. 2.各种容器的区别/联系 2-1.容 ...
- 各种容器与服务器的区别与联系 Servlet容器 WEB容器 Java EE容器 应用服务器 WEB服务器 Java EE服务器
转自:https://blog.csdn.net/tjiyu/article/details/53148174 各种容器与服务器的区别与联系 Servlet容器 WEB容器 Java EE容器 应用服 ...
- java ee服务器/应用服务器的理解
42.由Apache.Sun 和其他一些公司及个人共同开发而成.由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现.43.可以这样认为,当在一台机器上配 ...
- 轻量级Java EE企业应用实战(第4版):Struts 2+Spring 4+Hibernate整合开发(含CD光盘1张)
轻量级Java EE企业应用实战(第4版):Struts 2+Spring 4+Hibernate整合开发(含CD光盘1张)(国家级奖项获奖作品升级版,四版累计印刷27次发行量超10万册的轻量级Jav ...
- Java EE中的容器和注入分析,历史与未来
Java EE中的容器和注入分析,历史与未来 java中的容器 java中的注入 容器和注入的历史和展望 一.java中的容器 java EE中的注入,使我们定义的对象能够获取对资源和其他依赖项的引用 ...
- [转载]四大Java EE容器
转载自: https://my.oschina.net/diedai/blog/271367 现在流行的Java EE容器有很多:Tomcat.JBoss.Resin.Glassfish等等.下面对这 ...
- JAVA EE(简述)
一.平台概述 JavaEE的全称是Java Enterprise Edition,它是一个开发分布式企业级应用的规范和标准 Java 平台三个版本: Java ME(Java Micro Edit ...
- 转 四大Java EE容器(Tomcat、JBoss、Resin、Glassfish)之简单比较
现在流行的Java EE容器有很多:Tomcat.JBoss.Resin.Glassfish等等.下面对这四种Java EE容器进行 ...
- 四大Java EE容器(Tomcat、JBoss、Resin、Glassfish)之简单比较
转自:http://www.cxybl.com/html/bcyy/java/201106241007.html 现在流行的Java EE容器有很多:Tomcat.JBoss.Resin.Glassf ...
随机推荐
- ES6箭头函数this指向
普通函数中的this: 1. this总是代表它的直接调用者(js的this是执行上下文), 例如 obj.func ,那么func中的this就是obj 2.在默认情况(非严格模式下,未使用 'us ...
- java中this$0 this$1 this$2
import java.lang.reflect.Field; public class Outer {//this$0 public class FirstInner {//this$1 publi ...
- Ansible-安装-秘钥-部署-使用
本文转自:https://www.cnblogs.com/ylqh/p/5902259.html ansiblemaster:192.168.74.146 ansibleslave1 :192.168 ...
- MySQL中的三中循环 while 、 loop 、repeat 求 1~n 的和
-- MySQL中的三中循环 while . loop .repeat 求 1-n 的和 -- 第一种 while 循环 -- 求 1-n 的和/* while循环语法:while 条件 DO 循环体 ...
- 监控prometheus
一.prometheus-webhook-daingtalak github地址:[Releases · timonwong/prometheus-webhook-dingtalk · GitHub] ...
- Struts2开发基础
Struts2开发基础 struts2采用拦截器的机制来处理用户的请求,使得业务逻辑控制器能够与ServletAPI完全脱离开. 1. Hello World! 配置web.xml <?xml ...
- 基于asp.net mvc的近乎产品开发培训课程(第二讲)
演示产品源码下载地址:http://www.jinhusns.com/Products/Download
- 50道sql练习题和答案
最近两年的工作没有写过多少SQL,感觉水平下降十分严重,网上找了50道练习题学习和复习 原文地址:50道SQL练习题及答案与详细分析 1.0数据表介绍 --1.学生表 Student(SId,Snam ...
- Open Credit System(UVA11078)
11078 - Open Credit System Time limit: 3.000 seconds Problem E Open Credit System Input: Standard In ...
- Points on Cycle (hdu1700,几何)
Points on Cycle Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...