如今是我们发布有关Java领域统计资料的第四个年头。每年春天,我们对从JVM 的Plumbr 代理监测器收集到的数据进行挖掘,发现了以下几点:
- Java版本的使用情况(是Java6、7,还是8);
- 虚拟机使用的哪一款(是Oracle Hotspot 、 OpenJDK 还是 Rest of the World);
- 基础设施中最常用的是哪个应用服务器;
- 这些现象随着时间推移是如何变化的。
上周我们对Java版本和供应商数据进行了披露。这周我们将会对应用服务市场的状态进行曝光。
以下结论是基于Plumbr对1240台JVM的性能在2016年的2月份到3月份进行检测得到的。这些数据的收集是过JVM 中的os.arch、os.version、 java.version等通过 System.getProperty() 进行调用得到的。
2015年使用最广泛的是哪一种Java应用服务器呢?
通过从部署的1240个JVM中得到的数据,我们能够确定出现了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。所有这些的部署小于5。
剩下的JVM我们没有检测到数据。一个Java应用服务器大多数是:
- 使用Swing或AWT开发的桌面应用程序;
- 动态语言运行时(比如Scala或者Groovy);
- 无服务器软件(比如Elasticsearch、TIBCO等);
- 使用Netty(比如play框架);
- 或者隐藏在开发环境启动器之后(Maven、sbt、 IDEAM Eclipse等)。
2013-2016使用的Java应用服务器
2013到2016年期间,我们呈现并分析了相同的数据,得到了以下结果:
应该有人对这种随时间推移的变化做出解释,这一点是毋庸置疑的。Jetty为什么从2015年的辉煌降到了如今仅仅第三名的位置,一个可能的原因就是Plunber从一个开发工具转变为了一个监控解决方案。Jetty不再是一个友好的开发工具,而是作为一个产品部署者它和其他的java应用服务器提供商分享了自己的部署。
2015年的一个有趣变化就是我们可以看到Oracle Weblogic出现的概率减少了三倍多。但是这种现象是作为一个从特定供应商迁移过来的公司的特例还是由于由于各行各业的公司开始使用Plunbr,原因尚不清楚。
有一点明确的是,在连续两年的排行中,Tomcat部署占据了JVM领域接近60%的份额。考虑到Tomcat一开始仅仅是作为一个参考实现设计,以及不同的提供商把大量的经历投入到提升他们的容器,这是一个惊人的结果。
如果你觉得这些数据有趣,那么你有可能会对我们的Java和性能监测上的定期发布感兴趣。保持关注,推特或RSS feed进行订阅都可以。
原文链接:plumbr.eu 翻译:ImportNew.com - LW
译文链接:http://www.importnew.com/22475.html
相关推荐
总结,这个"java ee基础使用教程"涵盖了Java EE开发的各个方面,从基础的Servlet和JSP到复杂的EJB和JMS,再到安全和应用服务器的管理。通过郑阿奇的指导,你可以系统地学习并掌握Java EE开发,为自己的职业生涯打下...
4. 应用服务器配置:指导开发者如何在不同的Java EE应用服务器上部署和配置Java EE 7应用程序。 5. 企业级服务开发:涉及消息服务、事务管理、安全性等高级主题,这是企业级应用开发中不可或缺的部分。 6. 最佳...
Java EE旨在简化服务器端应用的开发,通过提供预定义的组件和服务,使开发者能够快速构建可扩展且易于维护的应用系统。 Java EE API包含了一系列的组件和接口,这些组件和接口用于实现诸如Web服务、事务管理、安全...
JAVA EE,全称为Java Platform, Enterprise Edition,是Java平台企业版的简称,是Oracle公司推出的一种用于构建企业级分布式应用程序的框架。它为开发者提供了在服务器端开发应用程序的一系列标准和API,包括Web组件...
8. **WebSocket API**:Java EE 7引入了WebSocket API,提供双向通信,使得服务器与客户端可以实时交换数据,适用于聊天应用、游戏和实时数据流等场景。 9. **Batch Applications for the Java Platform (JSR 352)*...
Java EE(Enterprise Edition),也被称为Java 企业版,是Java平台的一个版本,专门针对服务器端应用程序开发。它提供了一个全面的框架来构建分布式、多层的Web应用程序,支持高可用性、可扩展性和安全性。本教程...
10. **JPA(Java Persistence API)**与Hibernate:JPA是Java EE中的ORM(对象关系映射)标准,而Hibernate是其流行的实现,简化了Java应用与数据库之间的交互。 11. **JSF(JavaServer Faces)**:Java EE的一种UI...
这个SDK包含了运行Java EE应用所需的所有组件,包括服务器、API文档、示例代码以及开发工具。下面将详细阐述Java EE 5 SDK的关键知识点。 1. **Java EE概述**: Java EE是一种基于Java平台的企业级应用开发框架,...
Java EE部署描述符是XML格式的配置文件,它们提供了关于应用程序组件(如Servlet、JSP、EJB等)的信息,以及它们如何在服务器上配置和运行的细节。这些描述符帮助开发人员指定服务的行为,如安全设置、会话管理、...
Java EE(Java Platform, Enterprise Edition)是Oracle公司提供的一个企业级应用开发平台,它构建在Java SE基础之上,为开发和部署分布式、多层的企业级应用程序提供了丰富的API和工具。本教程旨在帮助读者全面理解...
9. **JPA(Java Persistence API)与Hibernate**:JPA是Java EE中的ORM(对象关系映射)标准,而Hibernate是其流行实现。这部分可能涉及实体类的创建、持久化操作、查询语言(JPQL)等。 10. **JSF(JavaServer ...
DateFormat,Calendar、文件与流、Java变量类型间的相互转换、Java与Web、用连接池提高Servlet访问数据库的效率、Java扩展、应用服务器的集群策略及Java EE 5.0、Java IO 包中的Decorator模式等。
2. **EJB(Enterprise JavaBeans)**:EJB是Java EE中的核心组件,提供了一种规范来创建可重用的、分布式的、事务管理的服务器端组件。主要包括Session Beans(用于业务逻辑)、Entity Beans(持久化对象)和Message...
1. **Servlet**: Servlet是Java EE中的核心组件,它是一个Java类,用于扩展服务器的功能。Servlet接口提供处理HTTP请求和响应的方法,是动态网页和Web服务的基础。在期末考试中,你可能需要了解Servlet的生命周期、...
Java EE(Java Platform, Enterprise Edition)是Oracle公司提供的一个用于构建企业级Web应用程序的框架。它包括一组标准组件和服务,允许开发人员在分布式、多层的服务器环境中开发、部署和管理应用程序。Java EE ...
1. **Java EE概述**:Java EE是用于构建企业级应用的开源框架,它提供了服务器端组件模型、事务管理、安全性和数据存储等服务。Java EE 5是其第五个版本,简化了许多API,引入了JSF(JavaServer Faces)、EJB 3.0...
6. **Web Socket支持**:通过JSR 356 WebSocket API,Java EE 6支持服务器与客户端之间的双向通信,这对于实时应用非常重要。 7. **资源管理**:引入了JSR 299 Contexts and Dependency Injection for the Java EE...
【Java EE Schema Resources】指的是Java企业版(Java Enterprise Edition,简称Java EE)中的模式资源,这些资源主要用于定义和规范Java EE应用的结构和行为。在Java EE开发中,模式资源通常包括XML架构(Schema)...