springboot的热部署使用场景:
1.本地调试
2.线上发布
银行和金融交易类的网站,需要全年不间断的运行.
优点:
1.无论本地还是在线上,都适用.
2.无需重新启动.
java热部署和热加载联系:
1.不重启服务器编译/部署项目
2,基于java的类加载器进行实现
热部署和热加载的区别:
部署方式:
1.热部署更加偏向于在服务器运行时重新部署项目.
2.热加载只是会重新加载改变的类或者说是编译的.class文件
实现原理:
1.热部署直接重新加载整个应用.(释放内存,重新启动这个应用,更加干净,但是更加费时间.)
2.热加载在运行时,重新加载class(使用类加载器,在后台启动一个线程,每隔一段时间检查这个.class的时间戳,如果时间戳发生改变了,就会重新加载这个类.)
使用场景:
热部署更多的是在生产环境使用.
热加载则更多的是在开发环境使用.
原理解析部分:
热部署原理解析:
首先必须严先知道:java中的类加载器的特点:
1.由AppClass Loder(系统类加载器)开始加载制定的类
2.类加载器将加载任务交给其父类加载器,如果找不到其父类加载器,再由自己去加载.
3.Bootstrap Loader(启动类加载器)是最顶级的类加载器.
java类的热部署:
1.通过类的热加载
原理有点听不懂
2.配置tomcat 的方式
第三种方式:
这个讲解的我现在有点看不懂,所以没有再深入研究,而且我现在使用的热部署方式也和这个不同,所以没有深入学习
原文地址:https://www.cnblogs.com/qingmuchuanqi48/p/11602481.html