本文主要是介绍jrebel,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
类装入器不能重新装入一个已经装入的类,但只要使用一个新的类装入器实例,就可以将类再次装入一个正在运行的应用程序。
jrebel
这一工具的工作方式是,监控磁盘上实际已编译的.class文件,无论何时只要有文件被更新就更新类。这意味着如果愿意的话,你可以把JRebel和文本编辑器、命令行的编译器放在一起使用。当然,它也被巧妙地整合到了Eclipse、InteliJ和NetBeans中。与动态的类加载器不一样,JRebel保留了所有现有的对象和类的标识和状态,允许开发者继续使用他们的应用而不会产生延迟。
每次重新编译加载classes文件的时候,控制台console都会输出一段文字
(2018-03-30 10:49:53 JRebel: Reloading class “包名.类名.class”.)
这段文字代表该类已经重加载完毕,请确保这段文字输出以后,再调试。
2、 以Spring boot,启动的项目需要注意:
执行重新编译(recompile)类的时候,需要注意 被编译类 的依赖顺序。
例如:A类实现了B接口(类A和接口B都被修改的前提下),那么需要先重新编译(recompile)B接口
再重新编译(recompile)A类。
当然,如果只修改了类A的内容,接口B未做修改,则只需要重新编译(recompile)类A
http://www.hollischuang.com/archives/598
https://blog.csdn.net/chenjie19891104/article/details/42807959
这篇关于jrebel的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!