【编者按】本文作者为性能监控工具 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 服务器?的更多相关文章

  1. 各种容器与服务器的区别与联系:Servlet容器、WEB容器、Java EE容器、应用服务器、WEB服务器、Java EE服务器

    1.容器与服务器的联系 如上图,我们先来看下容器与服务器的联系:容器是位于应用程序/组件和服务器平台之间的接口集合,使得应用程序/组件可以方便部署到服务器上运行. 2.各种容器的区别/联系 2-1.容 ...

  2. 各种容器与服务器的区别与联系 Servlet容器 WEB容器 Java EE容器 应用服务器 WEB服务器 Java EE服务器

    转自:https://blog.csdn.net/tjiyu/article/details/53148174 各种容器与服务器的区别与联系 Servlet容器 WEB容器 Java EE容器 应用服 ...

  3. java ee服务器/应用服务器的理解

    42.由Apache.Sun 和其他一些公司及个人共同开发而成.由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现.43.可以这样认为,当在一台机器上配 ...

  4. 轻量级Java EE企业应用实战(第4版):Struts 2+Spring 4+Hibernate整合开发(含CD光盘1张)

    轻量级Java EE企业应用实战(第4版):Struts 2+Spring 4+Hibernate整合开发(含CD光盘1张)(国家级奖项获奖作品升级版,四版累计印刷27次发行量超10万册的轻量级Jav ...

  5. Java EE中的容器和注入分析,历史与未来

    Java EE中的容器和注入分析,历史与未来 java中的容器 java中的注入 容器和注入的历史和展望 一.java中的容器 java EE中的注入,使我们定义的对象能够获取对资源和其他依赖项的引用 ...

  6. [转载]四大Java EE容器

    转载自: https://my.oschina.net/diedai/blog/271367 现在流行的Java EE容器有很多:Tomcat.JBoss.Resin.Glassfish等等.下面对这 ...

  7. JAVA EE(简述)

    一.平台概述 JavaEE的全称是Java Enterprise Edition,它是一个开发分布式企业级应用的规范和标准 Java 平台三个版本: Java ME(Java  Micro  Edit ...

  8. 转 四大Java EE容器(Tomcat、JBoss、Resin、Glassfish)之简单比较

                                      现在流行的Java EE容器有很多:Tomcat.JBoss.Resin.Glassfish等等.下面对这四种Java EE容器进行 ...

  9. 四大Java EE容器(Tomcat、JBoss、Resin、Glassfish)之简单比较

    转自:http://www.cxybl.com/html/bcyy/java/201106241007.html 现在流行的Java EE容器有很多:Tomcat.JBoss.Resin.Glassf ...

随机推荐

  1. Selenium之元素定位

    1.查看页面元素:ID.class.type.name等. 2.通过webdriver的方法定位: find_element_by_name()  find_element_by_id()  find ...

  2. 一口一口吃掉Hexo(五)

    如果你想得到更好的阅读效果,请访问我的个人网站 ,版权所有,未经许可不得转载! 通过前四节的内容,相信你已经能够在你的虚拟主机上成功部署网站,并且能够通过你自己的域名访问你的网站了,接下来要做的就是日 ...

  3. 读书笔记(01) - JSON - JavaScript高级程序设计

    JSON与JavaScript对象 JSON是一种表示结构化数据的存储格式,语法格式上与JavasScript对象有些类似. TIPS: 与JavaScript对象的格式区别 不支持变量.函数或对象实 ...

  4. 目标检测技术演进:R-CNN、Fast R-CNN、Faster R-CNN

    看到一篇循序渐进讲R-CNN.Fast R-CNN.Faster R-CNN演进的博文,写得非常好,摘入于此,方便查找和阅读. object detection,就是在给定的图片中精确找到物体所在位置 ...

  5. 用鼠标键盘来控制你的Android手机——同屏显示简单教程

    今天在微博上看到有人用电脑鼠标操作iPhone手机玩打飞机游戏,非常炫,虽然自己用的不是iPhone,但相信Android手机肯定也能实现这样的功能,于是网上各种搜索方法,终于看到了一篇试用成功的帖子 ...

  6. jdk8-stream-并行流的使用

    使用jdk的stream, 可以非常方便的将串行改为并行 1, 判断是否质数 /** * 将一个stream改成简单的并行 */ @Test public void test1() { // 串行 , ...

  7. C++关于sort和priority_queue的运算符重载

    C++中的sort函数默认是将元素升序排列的,而priority_queue默认是将元素降序排列的(默认实现的是大顶堆). 自定义运算符用的比较多,以下2种对sort和priority_queue运算 ...

  8. postman学习笔记(二)

    昨天刚操作了一遍最简单的接口测试,今天就收到了俩json文件,一个是postman里导出的接口列表一个是环境变量.拿到的时候一脸懵逼,昨天还以为学会用postman测试接口了,今天才发现哪儿到哪儿呀. ...

  9. Quartz2D截屏

    #import "ViewController.h" @interface ViewController () @end @implementation ViewControlle ...

  10. [转]论magento1和magento2的速度性能优化问题

    本文转自:http://www.360magento.com/blog/magento-speed-up/ magento从2007年发展至今,也经历了十余年的磨练,如今也迎来了magento的换代产 ...