jfinal热加载问题

jfinal热加载问题

  1. jfinal热加载是jfinal提供的还是undertow提供的,或者undertow提供的太垃圾了,jfinal重写了?

  2. 我想要将热加载移植到vert.x中 波总可以给提供一个学习路线吗?

评论区

JFinal

2020-09-10 10:53

这个是 jfinal 提供的,核心代码在这里:
https://gitee.com/jfinal/jfinal-undertow/tree/master/src/main/java/com/jfinal/server/undertow/hotswap

注意,必须要对 java 的 ClassLoader 有深入理解,并且要实际做东西才能理解

为啥强调要实际做东西,这就好比卡中国芯片产业脖子的 "光刻机",全世界知道光刻机的原理,但只有荷兰 ASML 能做出最高端的

最后,由于 java 并不是动态语言,所以它的热加载仅用于开发,不要用于生产环境,历史上有几个大厂做过这方面努力,都失败了

JFinal

2020-09-10 10:56

最后的最后,由于 jfinal 的热加载是通过重启项目(不是重启 JVM) 实现的,所以比起通过修改字节码方案的热加载要可靠简洁很多

与其它大厂的热加载不同,jfinal 热加载理论上可以用于生产环境,热加载过程会有短暂地停服,好在 jfinal 热加载是秒级的

李通

2020-09-10 11:11

@JFinal 谢谢波总,不会将热加载用于生产环境,需要移植的原因是要维护一些vert.x的旧项目, 历史上大厂失败的原因是大厂思路不对,我司已经解决了,解决的办法是开发基于jvm的动态语言,并且已经应用到了多个项目中,单由于公司高层的要求并没有对外全部开源,已经开源的脚本项目
https://gitee.com/ssssssss-team/magic-script
https://gitee.com/ssssssss-team/magic-api

JFinal

2020-09-10 11:47

@李通 "解决办法是开发基于 JVM 的动态语言",这个并不是在解决 JVM 的热加载,是另一种动态语言

李通

2020-09-10 11:52

@JFinal 是的jvm的热加载太难解决 开发动态语言一劳永逸

EATI001

2020-09-11 11:21

@JFinal 理论已有,老大什么时候能创新变现的呢。^_!