zoukankan      html  css  js  c++  java
  • 【秋招必备】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来进行配置:进入到confCatalinalocalhost文件下,创建一个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处理

  • 相关阅读:
    转 :table的边框属性设置总结
    Redis Sentinel 配置文件
    nginx unit的初探
    负载均衡器之 Haproxy
    利用python itchat给女朋友定时发信息
    nginx unit 的使用
    Redis Sentinel 模拟故障迁移
    Python 获取车票信息
    Nginx unit 源码安装初体验
    初识 Proxysql
  • 原文地址:https://www.cnblogs.com/QLCZ/p/15017627.html
Copyright © 2011-2022 走看看