java tomcat面试题_Tomcat面试题总结

论坛 期权论坛     
选择匿名的用户   2021-5-23 22:53   479   0
<div style="font-size:16px;">
<p>1、Tomcat的缺省端口是多少,怎么修改?</p>
<p>1)找到Tomcat目录下的conf文件夹</p>
<p>2)进入conf文件夹里面找到server.xml文件</p>
<p>3)打开server.xml文件</p>
<p>4)在server.xml文件里面找到下列信息</p>
<p>port&#61;&#34;8080&#34;改成你想要的端口</p>
<p>2、Tomcat有哪几种Connector运行模式(优化)?</p>
<p>bio:传统的Java I/O操作,同步且阻塞IO。</p>
<p>maxThreads&#61;”150”//Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。默认值200。可以根据机器的时期性能和内存大小调整,一般可以在400-500。最大可以在800左右。</p>
<p>minSpareThreads&#61;”25”—Tomcat初始化时创建的线程数。默认值4。如果当前没有空闲线程,且没有超过maxThreads,一次性创建的空闲线程数量。Tomcat初始化时创建的线程数量也由此值设置。</p>
<p>maxSpareThreads&#61;”75”–一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。默认值50。一旦创建的线程超过此数值,Tomcat会关闭不再需要的线程。线程数可以大致上用 “同时在线人数每秒用户操作次数系统平均操作时间” 来计算。</p>
<p>acceptCount&#61;”100”—-指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理。默认值10。如果当前可用线程数为0,则将请求放入处理队列中。这个值限定了请求队列的大小,超过这个数值的请求将不予处理。</p>
<p>connectionTimeout&#61;”20000” –网络连接超时,默认值20000,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。</p>
<p>nio:JDK1.4开始支持,同步阻塞或同步非阻塞IO。</p>
<p>指定使用NIO模型来接受HTTP请求</p>
<p>protocol&#61;”org.apache.coyote.http11.Http11NioProtocol” 指定使用NIO模型来接受HTTP请求。默认是BlockingIO,配置为protocol&#61;”HTTP/1.1”</p>
<p>acceptorThreadCount&#61;”2” 使用NIO模型时接收线程的数目</p>
<p>aio(nio.2):JDK7开始支持,异步非阻塞IO。</p>
<p>apr:Tomcat将以JNI的形式调用Apache HTTP服务器的核心动态链接库来处理文件读取或网络传输操作,从而大大地 提高Tomcat对静态文件的处理性能。</p>
<p></p>
<p>connectionTimeout&#61;&#34;20000&#34;</p>
<p>redirectPort&#61;&#34;8443</p>
<p>maxThreads&#61;“500”</p>
<p>minSpareThreads&#61;“100”</p>
<p>maxSpareThreads&#61;“200”</p>
<p>acceptCount&#61;&#34;200&#34;</p>
<p>enableLookups&#61;&#34;false&#34;</p>
<p>/&gt;</p>
<p>其他配置</p>
<p>maxHttpHeaderSize&#61;&#34;8192&#34; http请求头信息的最大程度,超过此长度的部分不予处理。一般8K。</p>
<p>URIEncoding&#61;&#34;UTF-8&#34; 指定Tomcat容器的URL编码格式。</p>
<p>disableUploadTimeout&#61;&#34;true&#34; 上传时是否使用超时机制</p>
<p>enableLookups&#61;&#34;false&#34;--是否反查域名,默认值为true。为了提高处理能力,应设置为false</p>
<p>compression&#61;&#34;on&#34; 打开压缩功能</p>
<p>compressionMinSize&#61;&#34;10240&#34; 启用压缩的输出内容大小,默认为2KB</p>
<p>noCompressionUserAgents&#61;&#34;gozilla, traviata&#34; 对于以下的浏览器,不启用压缩</p>
<p>compressableMimeType&#61;&#34;text/html,text/xml,text/javascript,text/css,text/plain&#34; 哪些资源类型需要压缩。</p>
<p>3、Tomcat有几种部署方式?</p>
<p>1)直接把Web项目放在webapps下,Tomcat会自动将其部署</p>
<p>2)在server.xml文件上配置节点,设置相关的属性即可</p>
<p>3)通过Catalina来进行配置:进入到conf\Catalina\localhost文件下,创建一个xml文件,该文件的名字就是站点的名字。</p>
<p>编写XML的方式来进行设置。</p>
<p>4、Tomcat容器是如何创建servlet类实例?用到了什么原理?</p>
<p>当容器启动时,会读取在webapps目录下所有的web应用中的web.xml文件,然后对xml文件进行解析,并读取servlet注册信息。然后,将每个应用中注册的servlet类都进行加载,并通过反射的方式实例化。(有时候也是在第一次请求时实例化)在servlet注册时加上如果为正数,则在一开始就实例化,如果不写或为负数,则第一次请求实例化。</p>
<p>5、Tomcat 如何优化?</p>
<p>1.优化连接配置.这里以tomcat7的参数配置为例,需要修改conf/server.xml文件,修改连接数,关闭客户端dns查询。</p>
<p>参数解释:</p>
<p>URIEncoding&#61;”UTF-8″ :使得tomcat可以解析含有中文名的文件的url,真方便,不像apache里还有搞个mod_encoding,还要手工编译</p>
<p>maxSpareThreads : 如果空闲状态的线程数多于设置的数目,则将这些线程中止,减少这个池中的线程
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP