开发者社区> 行者武松> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Java服务器宕机解决方法论(上)
Java服务器宕机解决方法论(上)
229 0
Java服务器宕机解决方法论(下)
Java服务器宕机解决方法论(下)
105 0
Redis 分布式锁的正确实现方式( Java 版 )
分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客将详细介绍如何正确地实现Redis分布式锁。
15416 0
[工具04]java实现获取鼠标的坐标
本篇博客其实没什么难度可言,在这里分享给大家,是因为有时候我们需要这个工具,java作为跨平台语言的优势在这个软件就可以体现出来,不需修改就可以在windows、mac、linux上使用这个软件。 这个小工具主要是使用MouseInfo类实时获取鼠标的信息,然后再JDialog上显示出来。
1425 0
【Java疑难杂症】利用Java核心库实现简单的AOP
  Spring是一个十分火热开源框架,而AOP(面向切面编程)则是Spring最重要的概念之一,为了更好的理解和学习AOP的思想,使用核心库来实现一次不失为一个好方法。   首先介绍一下AOP的概念,AOP(Aspect Oriented Programming),即面向切面编程,所谓的面向切面编程,就是从一个横切面的角度去设计代码的思想,传统的OOP思想是用封装继承和多态构造一种纵向的层次关系,但不适合定义横向的关系,而AOP思想则对此进行了很好的补充。
1061 0
CentOS7 nginx+tomcat实现代理访问java web项目让项目支持jsp和php
首先配置:nginx # cd /etc/nginx/conf.d/ # cp default.conf tomcat.conf # nano tomcat.conf 请在tomcat.
1347 0
+关注
行者武松
杀人者,打虎武松也。
文章
问答
文章排行榜
最热
最新
相关电子书
更多
《阿里巴巴Java开发手册》1.3.0版本【非最新版】
立即下载
《Java开发手册》2019最新版发布!
立即下载
阿里巴巴Java开发手册1.0.0版(非最新版)
立即下载