繁体   English   中英

Java反射

[英]Java Reflection

我正在从某个位置加载一些类(使用我自己的Classloader),我的应用程序用户可以将其jar文件添加到该位置,然后我将加载这些jar文件中存在的所有类,就像某些特定类型的运行时插件类然后将这些Class文字对象保存在HashMap中(这是特定类的字段),并在需要时从那里创建实例。如果从此HashMap中删除了一些文字,那么任何人都不能创建一个该类字面量的实例,例如应该为正在添加类的用户卸载该类。 2)我还希望我的用户不应该使用任何带有我的hashMAp的代码来承载我已加载的所有类文字。

我没有适当的反思经验,但我建议以下几点:

有一个类(例如,LoadedClassesManager)包含所有实例化实例的记录。 它还应实现可观察的模式(即响应事件侦听器)。

要使所有已加载类的实例化都可以通过LoadedClassManager中的方法调用来调用(类似于getNewInstance(Class clazz, params) )。 该方法还会将调用对象注册为侦听器(用于卸载类时)。

因此,当要卸载某个类时,LoadedClassesManager会调用事件侦听器的甚至处理程序来适当地处理该类的卸载。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM