为了账号安全,请及时绑定邮箱和手机立即绑定

Spring Boot热部署

难度中级
时长 1小时58分
学习人数
综合评分9.20
44人评价 查看评价
9.1 内容实用
9.2 简洁易懂
9.3 逻辑清晰
为什么没什么人看呢?难道大家技术积累还不够啊

最新回答 / 老张戴眼镜
会一样,因为每次加载成功,工厂类ManagerFactory方法的第25行,第28行都有重置这个加载时间;
还不错哦,就是太短了,每一章。
首先感谢老师,老师前面有介绍到同一个classloader只会加载同限定名的类一次,而热加载需要解决这个问题依靠的是版本的概念,这里老师使用了modify也是同样的思路,还有就是类加载创建 Class 的 defineclass() 是native 方法,理论上只能通过修改编译生成的class文件,这里少了这一步,继续往下看看会不会有其他惊喜。
不足的是PPT一直是那几个阶段,跟解说的不同步啊。
loadTimeMap.get(className).getLoadTime() 总报java.lang.NullPointerException


估计是这一行写错了,这里是两个=号:if(loadTimeMap.get(className) == null){}
添加一个新方法或者新类才能真正看到是不是热部署
不错不错不错不错不错不错
按照视频讲的方式配置,我这里都实现了Spring Boot热部署,没问题的,老师很给力
springloaded 两个方式都不行
大家要改成dug模式才可以实现,start模式是不行的
MyManager 不是 BaseManager的子类吧?这都不是继承关系,而是它的实现类吧?
楼上的各位牛批,我是没在ManagerFactory中的load方法找到
loadClass = myClassLoader.loadClass(MY_MANAGER);
改成loadClass = myClassLoader.findClass(MY_MANAGER);直接报空指针异常
@lanrain 基于Tomcat可以实现3种方式的热部署,但是需要限制Tomcat使用的内存,防止内存溢出,如果发布为Jar包或者编译后的类就要根据第4章所讲的,可以自己实现Java热加载来实现
前排可以让了
这个不合理吧,有点误导啊,服务器环境中如果采用tomcat的这种方式的热部署,很容易就会内存溢出的,而且发布为jar包后,怎么替换新生成的jar包或新编译后的类?
淘宝天猫他们的不停机更新猜测应该是用web服务器做限流,然后分阶段进行更新
课程须知
本课程是Java中高级课程,需熟练掌握Java基本语法和一些Java底层概念
老师告诉你能学到什么?
1、热部署与热加载的联系和区别 2、热部署的原理与实现 3、构建Spring Boot项目的流程 4、Spring Boot热部署的实现与发布方式

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消