为什么Java的调试热交换仅限于方法内更改?
我已经完成了热部署教程,它的工作原理。但是我对限制(第3点)有疑问,即
热部署仅支持方法实现中的代码更改。如果添加新类或新方法,仍需要重新启动。
基本上,如果我在现有方法中进行更改,我们不需要重新启动服务器,但在添加方法或类的情况下需要。
我对它如何运作的理解:-当我在现有方法中进行更改或引入新方法时,Eclipse会将文件放在Web服务器下的正确位置。如果类已经由类装入器在烫发器中加载,它将从permgen空间中卸载它,并在内部加载新的类,而无需重新启动服务器,以便反映新的更改(字节码)。这是对的吗?
如果是,为什么热部署不适用于新方法和新类文件?