Tomcat架构热部署

整体架构

Tomcat架构热部署_第1张图片

热加载

  • org.apache.catalina.loader.WebappLoader#backgroundProcess
    • org.apache.catalina.core.StandardContext#reload

reloadable 默认false

热部署

  • org.apache.catalina.core.ContainerBase#backgroundProcess
  • org.apache.catalina.util.LifecycleBase#fireLifecycleEvent
    • org.apache.catalina.startup.HostConfig#lifecycleEvent
      • org.apache.catalina.startup.HostConfig#checkResources
 
   autoDeploy 默认true         

打破双亲委派

  • tomcat是一个平台或者容器,里面可以部署多个APP应用,保证每个应用之间隔离,允许应用拥有同名class但是不同报名
  • WebclassLoader + 类权限定名 来确定一个唯一的class对象
  • WebClassLoader -> CommonClassLoader -> AppClassLoader -> extClassLoder --> bootstratClassLoader
类图关系

Tomcat架构热部署_第2张图片

你可能感兴趣的:(系统,java,JVM,java)