调试时的 JVM 热交换最佳实践



我在维护遗留项目的同时在调试器上花费了大量时间。 应用程序的启动时间很长,我不能在每次测试新更改时等待程序重新启动,所以我正在广泛使用 JVM 的热插拔功能。我面临的问题是热插拔允许我执行的操作范围有限。 我可以修改方法的主体,但不能添加其他方法。 是否有任何最佳实践可用于最大限度地使用热插拔功能? 修改方法主体的能力很棒,但是是否有可能以某种方式绕过一些现有的限制(例如,能够添加新字段(。 我知道它明确不受支持,但也许可以以某种方式间接地做到这一点

我已经为此使用了 JRebel,并取得了一些成功。

我猜你正在将HotSwap与DCEVM结合使用吗?它扩展了HotSwap的一些本机功能(链接中的细节(,因此,如果您不使用它,这将是增加范围/功能的最佳机会。当然,如果您的预算允许,您可以获得JRebel,但我发现HotSwap和DCEVM的组合就足够了。

最新更新