这几天研究Tomcat,经过跟代码和调试代码的方式,基本弄明白了Tomcat启动到初始化好资源,等待链接,而后链接器把链接转交给容器的整个过程。研究过程比较艰辛,须要毅力;里面用到了不少反射的机制,昨天在想,到底组建出来的内存Heap是什么样子,不如吧Heap dump下来分析,经过分析,更加充分理解了Tomcat的模型。app
Tomcat经典的模型是这样:
.net
参考:http://blog.csdn.net/haitao111313/article/details/7717160 调试
能够发现这样的模型:
blog
咱们知道一个Wrapper和一个Servlet相对应,执行到Wrapper对应的StandardWrapperValve(Piple和Valve阀)的时候,调用invoke方法,有ip
try {内存
if (!unavailable) {资源
servlet = wrapper.allocate();get
}servlet
这样一段代码,取得业务包的servlet,而后执行对应的业务逻辑。it