浅谈自己在应用过程中的理解,若有不当之处请路过的各位指正,不胜感激。
1. Tomcat线程管理
Tomcat可以看作一个Java容器。每个servlet配置时可以设定是否在Tomcat启动时立即加载,放入servlet容器数组中备着,随时被调用;若未选择,则会在客户端第一次请求这个servlet时才会被加载并初始化,用完后放入servlet数组(也就是说,servlet在整个生命周期中,只加载一次。)
2. 如何发现自己的war工程中是否有僵死的servlet线程
在/proc/[pid]/task目录下,可以看到每个线程的目录,里面的内容记录这该线程的当前状态。我们可以在这里查看每个线程的堆栈。当然,也可以数一数该进程有多少个线程被开启;如果个数随着访问次数增加一直在增大,则可能有僵死的servlet线程。