Java热部署与热加载

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014527619/article/details/79404482

热部署与热加载联系

  • 不重启服务器编译/部署项目
  • 基于Java的类加载器实现

热部署与热加载的区别

  • 热部署在服务器运行时重新加载部署项目
  • 热加载运行时重新加载class

热部署与热加载在实现原理上的区别

  • 热部署直接重新加载整个应用
  • 热加载在运行时重新加载class

使用场景

  • 热部署更多的是在生产环境使用
  • 热加载则更多的是在开发环境中使用

热部署原理解析

热部署原理解析

类加载的五个阶段

类加载的五个阶段

热部署原理-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中的内部添加标签。

通过配置Tomcat实现热部署

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

猜你喜欢

转载自blog.csdn.net/u014527619/article/details/79404482