正如在这篇文章中所提到的,当它们的ClassLoader被垃圾回收时,类将会被卸载。OSGI利用此功能实现了热部署。
但为什么JDK不提供
是否有困难或副作用来提供此功能?
但为什么JDK不提供
unloadClass(String name)
方法来帮助我们删除指定的类呢?毕竟,他们已经提供了loadClass(String name)
方法。是否有困难或副作用来提供此功能?
loadClass
方法的存在并不意味着应该有一个unloadClass
方法。Java也有一个new
运算符,但没有delete
运算符。也许你能认出其中的规律... - Holgerunload(classXYZ)
并且仍然存在classXYZ
的实例或子类时,应该发生什么? - HolgerunloadClass()
方法会存在安全隐患。 - user207421