2016最流行的Java EE服务器

简介:

如今是我们发布有关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进行订阅都可以。


作者:LW

来源:51CTO

相关文章
|
7月前
|
安全 Java API
Java SE 与 Java EE 区别解析及应用场景对比
在Java编程世界中,Java SE(Java Standard Edition)和Java EE(Java Enterprise Edition)是两个重要的平台版本,它们各自有着独特的定位和应用场景。理解它们之间的差异,对于开发者选择合适的技术栈进行项目开发至关重要。
1159 1
|
10月前
|
设计模式 算法 Java
Java SE 与 Java EE 组件封装使用方法及实践指南
本指南详细介绍了Java SE与Java EE的核心技术使用方法及组件封装策略。涵盖集合框架、文件操作、Servlet、JPA、EJB和RESTful API的使用示例,提供通用工具类与基础组件封装建议,如集合工具类、文件工具类、基础Servlet、实体基类和服务基类等。同时,通过分层架构集成示例展示Servlet、EJB和JPA的协同工作,并总结组件封装的最佳实践,包括单一职责原则、接口抽象、依赖注入、事务管理和异常处理等。适合希望提升代码可维护性和扩展性的开发者参考。
313 0
|
Java Linux 定位技术
Minecraft配置文件参数说明(JAVA服务器篇)
Minecraft JAVA版服务器启动后会生成server.properties配置文件,位于minecraft_server/根目录下。该文件包含多项关键设置,如游戏模式(gamemode)、最大玩家数(max-players)、难度(difficulty)等。此文档详细说明了各配置项的功能与默认值,帮助用户高效管理服务器环境。
3329 60
|
前端开发 Cloud Native Java
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
|
存储 缓存 前端开发
JavaEE初阶——初识EE(Java诞生背景,CPU详解)
带你从零入门JAVAEE初阶,Java的发展历程认识什么是cpu,cpu的工作原理,cpu是如何进行计算的,cpu的架构,指令集,cpu的核心,如何提升cpu的算力,cpu的指令,,cup的缓存,cpu的流水线
|
Java 数据库连接 API
Spring 框架的介绍(Java EE 学习笔记02)
Spring是一个由Rod Johnson开发的轻量级Java SE/EE一站式开源框架,旨在解决Java EE应用中的多种问题。它采用非侵入式设计,通过IoC和AOP技术简化了Java应用的开发流程,降低了组件间的耦合度,支持事务管理和多种框架的无缝集成,极大提升了开发效率和代码质量。Spring 5引入了响应式编程等新特性,进一步增强了框架的功能性和灵活性。
|
前端开发 Java 数据库连接
你不可不知道的JAVA EE 框架有哪些?
本文介绍了框架的基本概念及其在编程领域的应用,强调了软件框架作为通用、可复用的软件环境的重要性。文章分析了早期Java EE开发中使用JSP+Servlet技术的弊端,包括可维护性差和代码重用性低等问题,并阐述了使用框架的优势,如提高开发效率、增强代码规范性和可维护性及提升软件性能。最后,文中详细描述了几种主流的Java EE框架,包括Spring、Spring MVC、MyBatis、Hibernate和Struts 2,这些框架通过提供强大的功能和支持,显著提升了Java EE应用的开发效率和稳定性。
|
6月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
295 1
|
6月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
315 1
|
7月前
|
数据采集 存储 弹性计算
高并发Java爬虫的瓶颈分析与动态线程优化方案
高并发Java爬虫的瓶颈分析与动态线程优化方案