企业级java增量热部署解决方案
前言 在前说明:好久没有更新博客了,这一年在公司做了好多事情,包括代码分析和热部署替换等黑科技,一直没有时间来进行落地写出一些一文章来,甚是可惜,趁着中午睡觉的时间补一篇介绍性的文章吧。 首先热部署的场景是这样的,公司的项目非常多,真个BU事业部的项目加起来大约上几百个项目了,有一些项目本地无法正常启动,所以一些同学在修改完代码,或者是在普通的常规任务开发过程中都是盲改,然后去公司的代码平台进行发布,恶心的事情就在这里,有的一些项目从构建到发布运行大约30分钟,所以每次修改代码到代码见效需要30分钟的周期,这个极大的降低了公司的开发效率,一旦惰性成习惯,改变起来将十分的困难,所以我们极需要一个在本地修改完代码之后,可以秒级在服务端生效的神器,这样,我们的热部署插件就诞生了。 热部署在业界本身就是一个难啃的骨头,属于逆向编程的范畴,JVM有类加载,那么热部署就要去做卸载后重新加载,Spring有上下文注册,spring Bean执行初始化生命周期,热部署就要去做类的销毁,重新初始化,里面设计到的细节点非常之多,业界的几款热部署的处理方式也不尽相同,由于需要巨大的底层细节需要处理,所以目前...