【秋招必备】Tomcat面试题(2021最新版)

前言

在工作中,作为 Java 开发的程序员,Tomcat 服务器是大家常用的,也是很多公司现在正在用的。但是,在系统并发量比较大的情况下,Tomcat 就会出现卡死和自动关闭等问题。如何优化 Tomcat,让它更高效的运行就成了问题,在本次面试题分享中,我将为你解答如何更好的提升 Tomcat 性能。

小编分享的这份Java后端开发面试总结包含了JavaOOP、Java集合容器、Java异常、并发编程、Java反射、Java序列化、JVM、Redis、Spring MVC、MyBatis、MySQL数据库、消息中间件MQ、Dubbo、Linux、ZooKeeper、 分布式&数据结构与算法等26个专题技术点,都是小编在各个大厂总结出来的面试真题,已经有很多粉丝靠这份PDF拿下众多大厂的offer,今天在这里总结分享给到大家!【已完结】

完整版Java面试题地址:2021最新面试题合集集锦

序号 专题 内容 链接
1 中间件 【秋招必备】Java中间件面试题(2021最新版) https://www.cnblogs.com/QLCZ/p/14851355.html
2 微服务 【秋招必备】Java微服务面试题(2021最新版) https://www.cnblogs.com/QLCZ/p/14893883.html
3 并发编程 【秋招必备】Java并发编程面试题(2021最新版) https://www.cnblogs.com/QLCZ/p/14893914.html
4 Java基础 【秋招必备】Java基础知识面试题(2021最新版) https://www.cnblogs.com/QLCZ/p/14968925.html
5 Spring Boot 【秋招必备】Spring Boot面试题(2021最新版) https://www.cnblogs.com/QLCZ/p/14968927.html
6 Redis 【秋招必备】Redis面试题(2021最新版) https://www.cnblogs.com/QLCZ/p/14968935.html
7 Spring MVC 【秋招必备】Spring MVC面试题(2021最新版) https://www.cnblogs.com/QLCZ/p/14977235.html
8 Spring Cloud 【秋招必备】Spring Cloud面试题(2021最新版) https://www.cnblogs.com/QLCZ/p/14977264.html
9 MySQL优化 【秋招必备】MySQL优化面试题(2021最新版) https://www.cnblogs.com/QLCZ/p/14977264.html
10 JVM 【秋招必备】JVM性能调优面试题(2021最新版) https://www.cnblogs.com/QLCZ/p/14981629.html
11 Linux 【秋招必备】Linux面试题(2021最新版) https://www.cnblogs.com/QLCZ/p/15004102.html
12 Mybatis 【秋招必备】Mybatis面试题(2021最新版) https://www.cnblogs.com/QLCZ/p/15004110.html
13 网络编程 【秋招必备】TCP,UDP,Socket,Http网络编程面试题(2021最新版) https://www.cnblogs.com/QLCZ/p/15012942.html
14 设计模式 【秋招必备】设计模式面试题(2021最新版) https://www.cnblogs.com/QLCZ/p/15012953.html
15 大数据 【秋招必备】大数据面试题100道(2021最新版) https://www.cnblogs.com/QLCZ/p/15012984.html
16 Tomcat 【秋招必备】Tomcat面试题(2021最新版) https://www.cnblogs.com/QLCZ/p/15017627.html
17 多线程 【秋招必备】多线程面试题(2021最新版) https://www.cnblogs.com/QLCZ/p/15017638.html
18 Nginx 【秋招必备】Nginx_BIO_NIO_AIO面试题(2021最新版) https://www.cnblogs.com/QLCZ/p/15032145.html
19 memcache 【秋招必备】memcache面试题(2021最新版) https://www.cnblogs.com/QLCZ/p/15032231.html
20 java异常 【秋招必备】java异常面试题(2021最新版) https://www.cnblogs.com/QLCZ/p/15035951.html
21 Java虚拟机 【秋招必备】Java虚拟机面试题(2021最新版) https://www.cnblogs.com/QLCZ/p/15036517.html
22 Java集合 【秋招必备】Java集合面试题(2021最新版) https://www.cnblogs.com/QLCZ/p/15041523.html
23 Git常用命令 【秋招必备】Git常用命令(2021最新版) https://www.cnblogs.com/QLCZ/p/15041786.html
24 Elasticsearch 【秋招必备】Elasticsearch面试题(2021最新版) https://www.cnblogs.com/QLCZ/p/15044301.html
25 Dubbo 【秋招必备】Dubbo面试题(2021最新版) https://www.cnblogs.com/QLCZ/p/15044434.html

1、Tomcat的缺省端口是多少,怎么修改?

1)找到Tomcat目录下的conf文件夹

2)进入conf文件夹里面找到server.xml文件

3)打开server.xml文件

4)在server.xml文件里面找到下列信息

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1"

redirectPort="8443" uriEncoding="utf-8"/>

port="8080"改成你想要的端口

2、tomcat 有哪几种Connector 运行模式(优化)?

3、Tomcat有几种部署方式?

1)直接把Web项目放在webapps下,Tomcat会自动将其部署

2)在server.xml文件上配置节点,设置相关的属性即可

3)通过Catalina来进行配置:进入到conf\Catalina\localhost文件下,创建一个xml文件,该文件的名字就是站点的名字。

编写XML的方式来进行设置。

4、tomcat容器是如何创建servlet类实例?用到了什么原理?

当容器启动时,会读取在webapps目录下所有的web应用中的web.xml文件,然后对xml文件进行解析,并读取servlet注册信息。然后,将每个应用中注册的servlet类都进行加载,并通过反射的方式实例化。(有时候也是在第一次请求时实例化)在servlet注册时加上如果为正数,则在一开始就实例化,如果不写或为负数,则第一次请求实例化。

5.tomcat 如何优化?

6.内存调优

7.垃圾回收策略调优

8.添加JMS远程监控

9.专业点的分析工具有

IBM ISA,JProfiler、probe 等,具体监控及分析方式去网上搜索即可

10.关于Tomcat的session数目

这个可以直接从Tomcat的web管理界面去查看即可 ;

或者借助于第三方工具Lambda Probe来查看,它相对于Tomcat自带的管理稍微多了点功能,但也不多 ;

11.监视Tomcat的内存使用情况

使用JDK自带的jconsole可以比较明了的看到内存的使用情况,线程的状态,当前加载的类的总量等;JDK自带的jvisualvm可以下载插件(如GC等),可以查看更丰富的信息。如果是分析本地的Tomcat的话,还可以进行内存抽样等,检查每个类的使用情况

12.打印类的加载情况及对象的回收情况

13.Tomcat一个请求的完整过程

Ng:(nginx)
upstream yy_001{
server 10.99.99.99:8080;
server 10.99.99.100:8080;
hash $**;
healthcheck_enabled;
healthcheck_delay 3000;
healthcheck_timeout 1000;
healthcheck_failcount 2;
healthcheck_send 'GET /healthcheck.html HTTP/1.0' 'Host: wo.com'
'Connection: close';
}
server {
include base.conf;
server_name wo.de.tian;
...
location /yy/ {
proxy_pass http://yy_001;
}

14.Tomcat工作模式?

笔者回答:Tomcat是一个JSP/Servlet容器。其作为Servlet容器,有三种工作模式:独立的Servlet容器、进程内的Servlet容器和进程外的Servlet容器。进入Tomcat的请求可以根据Tomcat的工作模式分为如下两类:Tomcat作为应用程序服务器:请求来自于前端的web服务器,这可能是Apache, IIS, Nginx等;Tomcat作为独立服

15.共享session处理

posted @ 2021-07-15 21:32  麒麟改bug  阅读(739)  评论(0编辑  收藏  举报