在工作中,作为 Java 开发的程序员,Tomcat 服务器是大家常用的,也是很多公司现在正在用的。但是,在系统并发量比较大的情况下,Tomcat 就会出现卡死和自动关闭等问题。如何优化 Tomcat,让它更高效的运行就成了问题,在本次面试题分享中,我将为你解答如何更好的提升 Tomcat 性能。
小编分享的这份Java后端开发面试总结包含了JavaOOP、Java集合容器、Java异常、并发编程、Java反射、Java序列化、JVM、Redis、Spring MVC、MyBatis、MySQL数据库、消息中间件MQ、Dubbo、Linux、ZooKeeper、 分布式&数据结构与算法等25个专题技术点,都是小编在各个大厂总结出来的面试真题,已经有很多粉丝靠这份PDF拿下众多大厂的offer,今天在这里总结分享给到大家!【已完结】
完整版Java面试题地址:2021最新面试题合集集锦。
| 序号 | 专题 | 内容 | 链接 |
|:----|:----|:----|:----|
| 1 | 中间件 | Java中间件面试题(2021最新版) | https://cloud.tencent.com/developer/article/1810657 |
| 2 | 微服务 | Java微服务面试题(2021最新版) | https://cloud.tencent.com/developer/article/1811218 |
| 3 | 并发编程 | Java并发编程面试题(2021最新版) | https://cloud.tencent.com/developer/article/1812085 |
| 4 | Java基础 | Java基础知识面试题(2021最新版) | https://cloud.tencent.com/developer/article/write/1812831 |
| 5 | Spring Boot | Spring Boot面试题(2021最新版) | https://cloud.tencent.com/developer/article/1813377 |
| 6 | Redis | Redis面试题(2021最新版) | https://cloud.tencent.com/developer/article/1814536 |
| 7 | Spring MVC | Spring MVC面试题(2021最新版) | https://cloud.tencent.com/developer/article/1814561 |
| 8 | Spring Cloud | Spring Cloud面试题(2021最新版) | https://cloud.tencent.com/developer/article/1814682 |
| 9 | MySQL优化 | MySQL优化面试题(2021最新版) | https://cloud.tencent.com/developer/article/1814683 |
| 10 | JVM | JVM性能调优面试题(2021最新版) |https://cloud.tencent.com/developer/article/1814684 |
| 11 | Linux | Linux面试题(2021最新版) | https://cloud.tencent.com/developer/article/1814821 |
| 12 | Mybatis | Mybatis面试题(2021最新版) | https://cloud.tencent.com/developer/article/1814879 |
| 13 | 网络编程 | TCP,UDP,Socket,Http网络编程面试题(2021最新版) | https://cloud.tencent.com/developer/article/1814881 |
| 14 | 设计模式 | 设计模式面试题(2021最新版) |https://cloud.tencent.com/developer/article/1816736 |
| 15 | 大数据 | 大数据面试题100道(2021最新版) |https://cloud.tencent.com/developer/article/1818351|
| 16 | Tomcat | Tomcat面试题(2021最新版) | https://cloud.tencent.com/developer/article/1818417 |
| 17 | 多线程 | 多线程面试题(2021最新版) | https://cloud.tencent.com/developer/article/1818432 |
| 18 | Nginx | Nginx\_BIO\_NIO\_AIO面试题(2021最新版) | https://cloud.tencent.com/developer/article/1818676 |
| 19 | memcache | memcache面试题(2021最新版) | https://cloud.tencent.com/developer/article/1819122 |
| 20 | java异常 | java异常面试题(2021最新版) | https://cloud.tencent.com/developer/article/1819397 |
| 21 | Java虚拟机 | Java虚拟机面试题(2021最新版) | https://cloud.tencent.com/developer/article/1820065 |
| 22 | Java集合 | Java集合面试题(2021最新版) | https://cloud.tencent.com/developer/article/1820151 |
| 23 | Git常用命令 | Git常用命令(2021最新版) | https://cloud.tencent.com/developer/article/write/1820273 |
| 24 | Elasticsearch | Elasticsearch面试题(2021最新版) | https://cloud.tencent.com/developer/article/1820285 |
| 25 | Dubbo | Dubbo面试题(2021最新版) | https://cloud.tencent.com/developer/article/1820302 |
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"改成你想要的端口
1)直接把Web项目放在webapps下,Tomcat会自动将其部署
2)在server.xml文件上配置<Context>节点,设置相关的属性即可
3)通过Catalina来进行配置:进入到conf\Catalina\localhost文件下,创建一个xml文件,该文件的名字就是站点的名字。
编写XML的方式来进行设置。
当容器启动时,会读取在webapps目录下所有的web应用中的web.xml文件,然后对xml文件进行解析,并读取servlet注册信息。然后,将每个应用中注册的servlet类都进行加载,并通过反射的方式实例化。(有时候也是在第一次请求时实例化)在servlet注册时加上如果为正数,则在一开始就实例化,如果不写或为负数,则第一次请求实例化。
IBM ISA,JProfiler、probe 等,具体监控及分析方式去网上搜索即可
这个可以直接从Tomcat的web管理界面去查看即可 ;
或者借助于第三方工具Lambda Probe来查看,它相对于Tomcat自带的管理稍微多了点功能,但也不多 ;
使用JDK自带的jconsole可以比较明了的看到内存的使用情况,线程的状态,当前加载的类的总量等;JDK自带的jvisualvm可以下载插件(如GC等),可以查看更丰富的信息。如果是分析本地的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;
}
笔者回答:Tomcat是一个JSP/Servlet容器。其作为Servlet容器,有三种工作模式:独立的Servlet容器、进程内的Servlet容器和进程外的Servlet容器。进入Tomcat的请求可以根据Tomcat的工作模式分为如下两类:Tomcat作为应用程序服务器:请求来自于前端的web服务器,这可能是Apache, IIS, Nginx等;Tomcat作为独立服
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。