导图社区 SpringBoot热部署
这是一篇关于SpringBoot热部署,关键点总结的思维导图,主要内容有简介类、加载器、类加载机制、区别。
思维导图创作模版直接套用,知识卡片思维导图。模版已经提供了基本的结构和样式,用户只需要在此基础上添加或修改内容即可。
1.非常详细目标拆解方法 2.以学会炒西红柿炒鸡蛋例子讲解 3.本模板可直接用作拆解目标模板使用 4.本套方法价值10个达不溜,懂得都懂
尝试读懂人性,理解人性,就能搞定所有的问题。因为生活中的种种现象都是行为,行为的根源是情绪。激动的情绪会带来不理智的行为,理性的情绪会带来理性的行为。研究明白人性,就可以指导我们处理人生各种问题。其实就是如何照顾好自己的情绪。此篇笔记意义非凡,懂得都得都懂。不多赘述了。
社区模板帮助中心,点此进入>>
英语词性
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
法理
刑法总则
【华政插班生】文学常识-先秦
【华政插班生】文学常识-秦汉
文学常识:魏晋南北朝
【华政插班生】文学常识-隋唐五代
【华政插班生】文学常识-两宋
SpringBoot热部署
概念
简介
不用重启项目,加载整个应用
类加载器
启动类加载器
隐式存在,存在于JVM里面,看不到的,只会加载JDK里面的,比如String
扩展类加载器
加载ext包下面的文件
应用程序类加载器
加载系统上下文
用户自定义类加载器
类加载机制
一个Classload里面只会存在一个相同的Class名字的Class文件,本地缓存一个Class的引用, 第二次查询会先查找本地是否存在缓存引用,如果存在,就不会加载类文件, 保证了Class对象只存在一份,保证系统核心Class文件不会被篡改, 比如String不会被第二次加载
双亲委派
一个类加载器默认情况不会自己加载Class文件,而是交给父类加载器去加载
子主题
区别
热加载
单个应用程序编译
热部署
加载整个应用编译
使用
依赖
spring-boot-devtools
原理
过程
java -> .class 文件 -> 类加载器 -> JVM 中的 .class 对象
热部署原理
发现代码有修改后,重新启动应用,速度比手动重启更快。 使用了两个ClassLoder,一个ClassLoder加载那些不会改变的类(第三方jar),另一个ClassLode加载会改变的类,成为restart ClassLoder。在发现有代码更改的时候,原来rerestart ClassLo被丢弃,重新创建一个restart ClassLoder,由于需要加载的类比较少,所以实现了较快的重启时间。 Devtools原理 1、监听classpath下面的文件变动,并会立即重启应用