tomcat优点_为啥面试问的都是Tomcat,不问Jetty,它们有啥区别

通常我们进行Java Web项目开发,必须要选择一种服务器来部署并运行Java应用程序,Tomcat和Jetty作为目前全球范围内最著名的两款开源servlet容器,该怎么选呢。

Tomcat

Tomcat属于Apache项目下核心项目,是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是很多Web项目开发的首选。

4dad175d281da1412d444d44e0f0404d.png

Jetty

基于Java语言编写的一个开源servlet容器,为Jsp和servlet提供了运行环境,可以迅速为一些独立运行的Java应用提供网络和web连接。

de1e83718db736fc1127c17c2e30dba7.png

异同点

相同点就是它们都是一种servlet引擎,都支持标准的servlet规范和JavaEE的规范。

1、比较下Tomcat和Jetty的架构

37fb9a9840086c5a7f2e04b65a4f19ff.png

Tomcat架构图

3c63f18ca90a6b92353bd55786a95f53.png

Jetty架构图

Tomcat最顶层是Service,控制了服务器的整个生命周期,每一个Service由一个Container和多个Connector组成,形成一个独立完整的处理单元,对外请求。

Jetty的核心是Server,整体包含了多个Handle,还有一个Connector组成,Connector负责接受请求,将请求分配给一个队列去进行处理。

Jetty的架构设计要比tomcat的更清晰,简单。

2、性能比较

Jetty可以同时处理大量连接而且可以长时间保持连接,适合于web聊天应用等等。而且按需加载组件,减少了服务器的内存开销,内部默认采用NIO异步处理等特性提高了服务器性能。配置更加的灵活、简单、开发效率快、扩展性强。

从技术上来说的话,Jetty不是一个功能全面的J2EE服务器,缺少很多对J2EE功能的支持。

而Tomcat适合处理少数非常繁忙的链接,也就是说链接生命周期短的请求服务。它自身扩展了大量的J2EE特性来满足各种企业项目应用的需求,对于很多的Java web项目来说,我们可能并不需要这么多高级特性,从一定程度上浪费了很多的资源。

小结

说了那么多,总是在围绕Jetty比Tomcat强是吧。

但是总不能因为Tomcat性能比Jetty稍微差就否定它,不去使用它了。所以单纯的比较两者的性能没有很大的必要,关键是看使用场景,不同的场景是有差异的。

Jetty目前正在快速成长为一个优秀的 Servlet 引擎,但是Tomcat的地位还是没办法撼动,市场份额远远不及Tomcat的多。Tomcat自出道以来,经过这么长时间的发展,已经得到广泛企业的认可,所以比起Jetty更加的稳定和成熟,尤其是在企业应用方面成为了不二选择。

目前Jetty因为自身的技术优点,使得市场使用率和社区活跃性也在不断的提高。希望也做的越来越好吧。

你们还有使用哪些热门的服务器呢,欢迎留言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值