tomcat的热加载后servlet的init()方法不在调用却更新方法内容的困惑
开启热加载后,servlet初次使用会调用init()方法,开启热加载,更新的servlet代码后,并不执行init()方法,进一步说是不执行构造方法,等于未创建对象,但是对service方法中修改的代码可以自动更新。不知道原因。
有个猜测,因为热加载后未调用init和构造方法,那么servlet还是原来的对象,但是方法区已经给刷新了,那么构建的对象如果还是去方法区找方法运行的话就会刷新,而如果是servlet类本身有个字符串,在更改后,却是不变的(测试过确实不会改变),我猜测是只刷新了方法区内容,因为本
原创
2020-12-16 20:37:14 ·
368 阅读 ·
0 评论