天天看點

Java熱部署與熱加載熱部署與熱加載聯系熱部署與熱加載的差別熱部署與熱加載在實作原理上的差別使用場景熱部署原了解析類加載的五個階段熱部署原理-Java類加載器特點Java類的熱部署

熱部署與熱加載聯系

  • 不重新開機伺服器編譯/部署項目
  • 基于Java的類加載器實作

熱部署與熱加載的差別

  • 熱部署在伺服器運作時重新加載部署項目
  • 熱加載運作時重新加載class

熱部署與熱加載在實作原理上的差別

  • 熱部署直接重新加載整個應用
  • 熱加載在運作時重新加載class

使用場景

  • 熱部署更多的是在生産環境使用
  • 熱加載則更多的是在開發環境中使用

熱部署原了解析

Java熱部署與熱加載熱部署與熱加載聯系熱部署與熱加載的差別熱部署與熱加載在實作原理上的差別使用場景熱部署原了解析類加載的五個階段熱部署原理-Java類加載器特點Java類的熱部署

類加載的五個階段

Java熱部署與熱加載熱部署與熱加載聯系熱部署與熱加載的差別熱部署與熱加載在實作原理上的差別使用場景熱部署原了解析類加載的五個階段熱部署原理-Java類加載器特點Java類的熱部署

熱部署原理-Java類加載器特點

  1. 由AppClass Loader(系統類加載器)開始加載指定的類。
  2. 類加載器将加載任務交給其父類,如果父類找不到,再由自己去加載。
  3. Bootstrap Loader(啟動類加載器)是最頂級的類加載器。

Java類的熱部署

類的熱加載

public class MyClassLoader extends ClassLoader {
	
	@Override
	protected Class<?> findClass(String name) throws ClassNotFoundException {
		byte[] data = this.loadClassData(name);
		return this.defineClass(name, data, 0, data.length);
		}
	
	}
           

配置Tomcat

原生熱部署

直接把項目web檔案放在webapps裡

自定義路徑熱部署

在tomcat\conf\sever.xml中的内部添加标簽。

Java熱部署與熱加載熱部署與熱加載聯系熱部署與熱加載的差別熱部署與熱加載在實作原理上的差別使用場景熱部署原了解析類加載的五個階段熱部署原理-Java類加載器特點Java類的熱部署

通過配置Tomcat實作熱部署

在 %tomcat_home%\conf\Catalina\localhost中添加一個XML

Java熱部署與熱加載熱部署與熱加載聯系熱部署與熱加載的差別熱部署與熱加載在實作原理上的差別使用場景熱部署原了解析類加載的五個階段熱部署原理-Java類加載器特點Java類的熱部署

繼續閱讀