Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
385 views
in Technique[技术] by (71.8m points)

关于使用Classloader进行热部署的几个问题?

通过自定义Classloader,监听文件变化,创建新的自定义Classloader来动态替换类字节码达到热部署的目的,在实践的过程中,我遇到了几个疑问,希望有做过热部署的小伙伴能够帮忙答疑。

1.A引用B,我想对B热部署,通过Classloader替换完B的字节码后,需要重新生成B对象,所以此时要把A对象中的B引用置为新的B对象。这一步如何获得所有这种A对象来动态替换引用B呢?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Spring devtools 就是new classloader方式。

Jrebel 采用instrument 方式,改写字节码。

针对相对孤立的类,热更新比较简单有引用关系的不好做啊。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...