【编者按】本文作者为性能监控工具 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
相关推荐
Java EE(Java Platform, Enterprise Edition)是Java平台上用于构建企业级Web应用的框架集合,它提供了丰富的服务和组件,使得开发者能够快速开发出分布式、多层架构的应用程序。本教程由知名讲师郑阿奇编著,旨在...
4. 应用服务器配置:指导开发者如何在不同的Java EE应用服务器上部署和配置Java EE 7应用程序。 5. 企业级服务开发:涉及消息服务、事务管理、安全性等高级主题,这是企业级应用开发中不可或缺的部分。 6. 最佳...
Java EE旨在简化服务器端应用的开发,通过提供预定义的组件和服务,使开发者能够快速构建可扩展且易于维护的应用系统。 Java EE API包含了一系列的组件和接口,这些组件和接口用于实现诸如Web服务、事务管理、安全...
JAVA EE,全称为Java Platform, Enterprise Edition,是Java平台企业版的简称,是Oracle公司推出的一种用于构建企业级分布式应用程序的框架。它为开发者提供了在服务器端开发应用程序的一系列标准和API,包括Web组件...
1. **Servlet**: Servlet是Java EE中的核心组件,它是一个Java类,用于扩展服务器的功能。Servlet接口提供处理HTTP请求和响应的方法,是动态网页和Web服务的基础。在期末考试中,你可能需要了解Servlet的生命周期、...
另外,理解EJB(Enterprise JavaBeans)也是必要的,尽管在现代Java EE开发中,轻量级框架如Spring更受欢迎。EJB提供了一种标准的方式来创建可部署的、跨平台的、基于组件的服务器端应用程序,包括会话Bean、实体...
Java EE 5是其第五个主要版本,发布于2006年,对先前的J2EE规范进行了简化和改进。 2. **关键组件**: - **JavaServer Pages (JSP)**:用于创建动态网页的视图技术,可以嵌入Java代码来实现业务逻辑。 - **...
Java EE(Enterprise Edition),也被称为Java 企业版,是Java平台的一个版本,专门针对服务器端应用程序开发。它提供了一个全面的框架来构建分布式、多层的Web应用程序,支持高可用性、可扩展性和安全性。本教程...
8. **WebSocket API**:Java EE 7引入了WebSocket API,提供双向通信,使得服务器与客户端可以实时交换数据,适用于聊天应用、游戏和实时数据流等场景。 9. **Batch Applications for the Java Platform (JSR 352)*...
Java EE(Java Platform, Enterprise Edition)是用于构建和部署企业级Web应用程序的框架。XML Schemas在Java EE中扮演着至关重要的角色,特别是在部署描述符(Deployment Descriptors)的定义和验证方面。本文将...
DateFormat,Calendar、文件与流、Java变量类型间的相互转换、Java与Web、用连接池提高Servlet访问数据库的效率、Java扩展、应用服务器的集群策略及Java EE 5.0、Java IO 包中的Decorator模式等。
《Java EE 5 Tutorial》是Java企业版5(Java Platform, Enterprise Edition 5)的一份官方教程,旨在帮助开发者深入理解和掌握Java EE平台的核心技术。这份文档详细介绍了如何使用Java EE 5进行分布式应用程序的开发...
Java EE(Java Platform, Enterprise Edition)是Oracle公司提供的一个企业级应用开发平台,它构建在Java SE基础之上,为开发和部署分布式、多层的企业级应用程序提供了丰富的API和工具。本教程旨在帮助读者全面理解...
Java EE(Java Platform, Enterprise Edition)是Oracle公司提供的一个用于构建企业级Web应用程序的框架。它包括一组标准组件和服务,允许开发人员在分布式、多层的服务器环境中开发、部署和管理应用程序。Java EE ...
《Java EE 6 教程》是Oracle公司于2010年发布的一部详尽指导书籍,旨在帮助开发者深入理解和掌握Java Platform, Enterprise Edition(Java EE)平台的应用开发技术。Java EE 6作为企业级应用开发的标准框架,提供了...
【Java EE Schema Resources】指的是Java企业版(Java Enterprise Edition,简称Java EE)中的模式资源,这些资源主要用于定义和规范Java EE应用的结构和行为。在Java EE开发中,模式资源通常包括XML架构(Schema)...
2. **EJB(Enterprise JavaBeans)**:EJB是Java EE中的核心组件,提供了一种规范来创建可重用的、分布式的、事务管理的服务器端组件。主要包括Session Beans(用于业务逻辑)、Entity Beans(持久化对象)和Message...