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 ...
随机推荐
- hexo 静态页面生成后页面打不开的问题
我这里的原因是4000端口被占用了 *** hexo入门指南教程: 官方文档 用Hexo 3 搭建github blog 做一款hexo主题(进阶) 坑 1 要安装node和git 2 别忘了安装he ...
- Java reflect 反射学习笔记
1. class 类的使用 万事万物皆对象 (基本数据类型, 静态成员不是面向对象), 所以我们创建的每一个类都是对象, 即类本身是java.lang.Class类的实例对象, 但是这些对象不需要 n ...
- 【JAVA】判断当前日期是否在时间点内
public static boolean isInDate(Date date, String strDateBegin, String strDateEnd) { SimpleDateFormat ...
- 详解C#委托和事件(二)
一.当我们使用关键字delegate声明一个自定义委托类型时,实际上是声明了一个该名称的类类型,继承自抽象类System.MulticastDelegate,还包含实例方法Invoke.BeginIn ...
- Vue + Element UI 实现权限管理系统 前端篇(四):优化登录流程
完善登录流程 1. 丰富登录界面 1.1 从 Element 指南中选择组件模板丰富登录界面,放置一个登录界面表单,包含账号密码输入框和登录重置按钮. <template> <el- ...
- hibernate 验证异常 javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint
使用hibernate validator出现上面的错误, 需要 注意 @NotNull 和 @NotEmpty 和@NotBlank 区别 @NotEmpty 用在集合类上面@NotBlank 用 ...
- Linux-(ping,traceroute,ss)
ping命令 1.命令格式: ping [参数] [主机名或IP地址] 2.命令功能: ping命令用于:确定网络和各外部主机的状态:跟踪和隔离硬件和软件问题:测试.评估和管理网络.如果主机正在运行并 ...
- Charles抓包之HTTPS抓包配置
访问我的博客 前言 由于工作中经常需要配置客户端开发人员对接接口,有时候对接地不太顺利,因此需要经常性地对公司 APP 进行抓包看请求,找出具体的原因. 在公司中开发使用的 Windows 台式电脑, ...
- MathType试用期到了如何继续用
1,卸载原来的MathType(不知道需不需要,其实删不删应该无所谓吧) 2,删除注册表中的一个值(不是默认,而是另外一个值) HKEY_CURRENT_USER\Software\Install O ...
- async & await 异步编程小示例,一看就懂
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...