是否值得使用Class作为缓存的弱哈希映射中的键(WeakHashMap)?众所周知,类对象是在程序启动时创建的,在完成时会被销毁.那么,有没有可能做到这一点,或者我对此有一些误解?
在类加载器加载时加载一个Class.如果卸载了ClassLoader,那么它的类也是如此.在可以清除所有类之前,不能卸载ClassLoader,因此如果您想要卸载类加载器,则使用Weak的Classes集合是一个非常好的主意.
在一个简单的Java Se程序中,您可能有两个或三个类加载器,它们是为您提供的,并且在程序的生命周期中存在,您永远不需要考虑它们.
但是,如果您有像Java EE或OSGi这样的容器,这些容器可以将每个应用程序或每个模块加载到自己的类加载器中,从而允许它们即时安装,升级或删除(无需重新启动JVM)