您的位置:首页 > 运维架构 > Tomcat

Tomcat中为什么要使用自定义类加载器,Tomcat如何进行优化

2021-10-10 21:37 816 查看

Tomcat中为什么要使用自定义类加载器

一个Tomcat中可以部署多个应用,而每个应用中都存在很多类,并且各个应用中的类是独立的,全类名是可以相同的,比如一个订单系统中可能存在com.zhouyu.User类,一个库存系统中可能也存在com.zhouyu.User类,一个Tomcat,不管内部部署了多少应用,Tomcat启动之后就是一个Java进程,也就是一个IVM,所以如果Tomcat中只存在一个类加载器,比如默认的AppClassLoader,那么就只能加载一个com.zhouyu.User类,这是有问题的,而在Tomcat中,会为部署的每个应用都生成一个类加载器,名字叫做WebAppClassloader,这样Tomcat中每个应用就可以使用自己的类加载器去加载自己的类,从而达到应用之间的类隔离,不出现冲突。

Tomcat如何进行优化

对于Tomcat调优,可以从两个方面来进行调整:内存和线程。

首先启动Tomcat,实际上就是启动了一个VM,所以可以按JVM调优的方式来进行调整,从而达到Tomcat优化的目的。另外Tomcat中设计了一些缓存区,比如appReadBufSize、bufferPoolSize等缓存区来提高吞吐量。

还可以调整Tomcat的线程,比如调整minSpareThreads参数来改变Tomcat空闲时的线程数,调整maxThreads参数来设置Tomcat处理连接的最大线程数。并且还可以调整IO模型,比如使用NIO、APR这种相比于BIO更加高效的IO模型。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: