当前位置: 首页 > news >正文

叮当网站做app厦门百度关键词优化

叮当网站做app,厦门百度关键词优化,国外的旅游网站开发,做网站虚拟主机怎么选择1、Tomcat 功能组件结构 Tomcat 的核心功能有两个,分别是负责接收和反馈外部请求的连接器 Connector,和负责处理请求的容器 Container。 其中连接器和容器相辅相成,一起构成了基本的 web 服务 Service。每个 Tomcat 服务器可以管理多个 Servi…

1、Tomcat 功能组件结构

        Tomcat 的核心功能有两个,分别是负责接收和反馈外部请求的连接器 Connector,和负责处理请求的容器 Container。 其中连接器和容器相辅相成,一起构成了基本的 web 服务 Service。每个 Tomcat 服务器可以管理多个 Service。

  • Connector:负责对外接收和响应请求。它是Tomcat与外界的交通枢纽,监听端口接收外界请求,并将请求处理后传递给容器做业务处理,最后将容器处理后的结果响应给外界。
  • Container:负责对内处理业务逻辑。其内部由 Engine、Host、Context和Wrapper 四个容器组成,用于管理和调用 Servlet 相关逻辑。
  • Service:对外提供的 Web 服务。主要包含 Connector 和 Container 两个核心组件,以及其他功能组件。Tomcat 可以管理多个 Service,且各 Service 之间相互独立。

1.1、Container 结构分析:

      每个 Service 会包含一个 Container 容器。在 Container 内部包含了 4 个子容器,分别如下:

  • Engine:引擎,用来管理多个虚拟主机,一个 Service 最多只能有一个 Engine;
  • Host:代表一个虚拟主机,也可以叫站点,通过配置 Host 就可以添加站点;
  • Context:代表一个 Web 应用,包含多个 Servlet 封装器;
  • Wrapper:封装器,容器的最底层。每一 Wrapper 封装着一个 Servlet,负责对象实例的创建、执行和销毁功能。

       Engine、Host、Context 和 Wrapper,这四个容器之间属于父子关系。
      容器( Container)由一个引擎(Engine)可以管理多个虚拟主机(Host)。每个虚拟主机(Host)可以管理多个 Web 应用(Context),每个 Web 应用会有多个 Servlet 封装器(Wrapper)。

2、tomcat线程池

tomcat中connector连接器部分使用到了线程池。

  1. LimitLatch:用来限流,可以恐怕该男子最大连接个数,类似J.U.C中的Semaphore.
  2. Acceptor只负责【接收新的socket连接】,默认线程数量为1,已足够使用。
  3. Poller :只负责监听socket channel是否有【可读的I/O事件】,默认线程数量为1,采用的是多路复用,已足够使用。
  4. 一旦可读,封装一个任务对象(sockerProcessor),提交给Executor线程池处理。
  5. Executor线程池中的工作线程最终负责【处理请求】

2.1、tomcat线程池扩展了ThreadPoolExecutor

 tomcat线程池扩展了ThreadPoolExecutor,行为稍有不同,如果总线程数达到了maxPoolSize, 

  • 不会立即抛RejectedExecutionException异常;
  • 而是再次尝试将任务放入队列,如果还失败,才抛出RejectedExecutionException异常。

源码如下:(tomcat9.0.21) 

package org.apache.tomcat.util.threads;public class ThreadPoolExecutor extends java.util.concurrent.ThreadPoolExecutor {// 此处省略部分代码...public void execute(Runnable command, long timeout, TimeUnit unit) {this.submittedCount.incrementAndGet();try {super.execute(command);} catch (RejectedExecutionException var9) {if (!(super.getQueue() instanceof TaskQueue)) {this.submittedCount.decrementAndGet();throw var9;}TaskQueue queue = (TaskQueue)super.getQueue();try {if (!queue.force(command, timeout, unit)) {this.submittedCount.decrementAndGet();throw new RejectedExecutionException(sm.getString("threadPoolExecutor.queueFull"));}} catch (InterruptedException var8) {this.submittedCount.decrementAndGet();throw new RejectedExecutionException(var8);}}}// 此处省略部分代码...}

tomcat跟线程池相关的配置如下:

2.2、tomcat线程池相关的配置

tomcat 之service.xml 中线程池的配置部分如下:

<!--The connectors can use a shared executor, you can define one or more named thread pools--><!--<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"maxThreads="150" minSpareThreads="4"/>--><!-- A "Connector" represents an endpoint by which requests are receivedand responses are returned. Documentation at :Java HTTP Connector: /docs/config/http.htmlJava AJP  Connector: /docs/config/ajp.htmlAPR (HTTP/AJP) Connector: /docs/apr.htmlDefine a non-SSL/TLS HTTP/1.1 Connector on port 8080--><Connector port="8180" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" /><!-- A "Connector" using the shared thread pool--><!--<Connector executor="tomcatThreadPool"port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />-->

2.12.1、connector配置

        对应service.xml中的<connector>标签配置。

 <Connector port="8180" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />

 

 

 

 

 

 

 

 

 

 

 

 

2.2.2、Executor配置

        对应service.xml中的<executor>标签配置,用于在<connector>标签中引用。service.xml原配置中的注释代码放开后如下:

	<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"maxThreads="150" minSpareThreads="4"/><Connector executor="tomcatThreadPool"port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />

 

 

 

       

 默认队列长度是Integer.MAX_VALUE,相当于是无界队列,是否表示非核心线程(即救急线程)永远不会被创建?

tomcat线程池工作流程图如下:

 1、有新任务时,核心线程数是否都用完了(即核心线程是否都繁忙),如果还有空闲核心线程,则将新任务添加到队列。

2、如果没有空闲核心线程,判断是否有救急线程,有,则创建救急线程或使用空闲的救急线程,执行任务。

3、如果救急线程都繁忙,则将新任务加入对列,加入规则如 2.1章节说明

http://www.hengruixuexiao.com/news/7144.html

相关文章:

  • 天津网站建设首选津坤科技郑州seo联系搜点网络效果好
  • 做本地生活网站宁波网站推广优化公司电话
  • 我在相亲网站做红娘的南宁seo
  • 2023年新开市场动态成都官网seo费用
  • 合肥市建设工程劳务分包合同备案表在哪个网站下载自己如何免费做网站
  • 武隆集团网站建设小说关键词生成器
  • 阿里云服务器官方网站负面口碑营销案例
  • 免费行情软网站百度seo优化排名如何
  • 义乌网站建设多少钱关键词排名优化工具
  • 太原商城网站建设简述优化搜索引擎的方法
  • 南京大地建设 集团 网站网络营销是什么?
  • 网站建设列入无形资产管理吗关键词搜索数据
  • 互联网行业 英文网站优化是什么意思
  • wordpress不能mp4做seo用哪种建站程序最好
  • 企业网站会涉及到的版权问题军事最新消息
  • 包头建委网站找不到百度打广告怎么收费
  • 江西网站建设公司排名搜索引擎优化的定义
  • 上海网页设计seo从0到1怎么做
  • 电商网站开发分析东莞网站营销
  • 用dw做的十二星座网站免费百度关键词排名推广工具
  • 北京专门做网站的公司seo用什么论坛引流
  • 北京网站改版有什么用全国31省市疫情最新消息今天
  • 创建一个网站的条件有哪些手机免费建网站
  • 济南品牌网站制作方案营销培训班
  • wordpress编程视频教程南宁seo结算
  • 淘宝上做网站建设靠谱吗竞价托管公司排名
  • 17网站一起做网店河北线上营销策略都有哪些
  • 网站制作方案介绍及要求其中包括
  • 旅游电子商务的三创赛网站建设网站友情链接购买
  • 在婚恋网站做翻译好吗深圳互联网推广公司