开发者社区> boxti> 正文
阿里云
为了无法计算的价值
打开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% 左右。这些容器的供应商分布如下:

image

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 年期间,我们呈现并分析了相同的数据,得到了以下结果:

image

应该有人对这种随时间推移的变化做出解释,这一点是毋庸置疑的。Jetty 为什么从 2015 年的辉煌降到了如今仅仅第三名的位置,一个可能的原因就是 Plunber 从一个开发工具转变为了一个监控解决方案。Jetty不再是一个友好的开发工具,而是作为一个产品部署者它和其他的 Java 应用服务器提供商分享了自己的部署。

2015 年的一个有趣变化就是我们可以看到 Oracle Weblogic 出现的概率减少了三倍多。但是这种现象是作为一个从特定供应商迁移过来的公司的特例还是由于由于各行各业的公司开始使用 Plunbr,原因尚不清楚。

有一点明确的是,在连续两年的排行中,Tomcat 部署占据了JVM领域接近 60% 的份额。考虑到 Tomcat 一开始仅仅是作为一个参考实现设计,以及不同的提供商把大量的经历投入到提升他们的容器,这是一个惊人的结果。

如果你觉得这些数据有趣,那么你有可能会对我们的 Java 和性能监测上的定期发布感兴趣。保持关注,推特或RSS feed进行订阅都可以。

文章转载自 开源中国社区 [http://www.oschina.net]

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

相关文章
Java服务器宕机解决方法论(上)
Java服务器宕机解决方法论(上)
0 0
Java服务器宕机解决方法论(下)
Java服务器宕机解决方法论(下)
0 0
Java通过SSLEngine与NIO实现HTTPS访问
Java使用NIO进行HTTPS协议访问的时候,离不开SSLContext和SSLEngine两个类。我们只需要在Connect操作、Connected操作、Read和Write操作中加入SSL相关的处理即可。
0 0
Java实现WebSocket服务
Java可以使用Tomcat提供的WebSocket库接口实现WebSocket服务,代码编写也非常的简单。现在的H5联网游戏基本上都是使用WebSocket协议,基于长连接,服务器可以主动推送消息,而不是传统的网页采用客户端轮询的方式获取服务器的消息。下面给出简单使用Tomcat的WebSocket服务的基本代码结构。
0 0
网页截图和svg模版动态生成图片Java实现(1)
网页截图和svg模版动态生成图片Java实现(1)
0 0
网页截图和svg模版动态生成图片Java实现(2)
网页截图和svg模版动态生成图片Java实现(2)
0 0
网页截图和svg模版动态生成图片Java实现(3)
网页截图和svg模版动态生成图片Java实现(3)
0 0
还在云吸猫?自己造一个Tom猫(Java语言实现版本)
还记得小时候玩的一个手机游戏Tom猫吗,这只猫一直伴随着我长大,小时候我记得我可爱玩这只猫了,虽然他涨的的不好看,但是也不妨碍我喜欢他,今天刚好趁着掘金的吸猫活动,用Java重温一下这只可爱的猫猫。
0 0
在java 8 stream表达式中实现if/else逻辑
在java 8 stream表达式中实现if/else逻辑
0 0
Java练习小题_猴子吃桃问题分别用for循环和while循环实现程序。
Java练习小题_猴子吃桃问题分别用for循环和while循环实现程序。
0 0
+关注
boxti
12535
文章
问答
文章排行榜
最热
最新
相关电子书
更多
《Java开发手册》2019最新版发布!
立即下载
《阿里巴巴Java开发手册》1.3.0版本【非最新版】
立即下载
MySQL Java开发实战
立即下载