如何找到具有特定注释的所有Java对象(而不是类)?

如何找到具有特定注释的所有Java对象(而不是类)?,java,annotations,Java,Annotations,我正在设计一个系统,通过使用注释标记对象中的成员变量来自动更新它们。然后,其他一些后台线程将更新对象 为此,执行更新的运行时组件需要知道包含此注释的所有Java对象。我可以看到,有一些方法可以找到具有注释类型的类,但从类到类的实例要困难得多。我希望避免在构造函数中显式地“注册”对象,尽管我可以这样做作为最后的手段 关于如何实现这一点,您有什么建议吗?您可以使用某种HashMap缓存来存储要更新的对象 1) 编写注释@updateable以标记可更新的对象 2) 编写包含要更新的所有对象的Hash

我正在设计一个系统,通过使用注释标记对象中的成员变量来自动更新它们。然后,其他一些后台线程将更新对象

为此,执行更新的运行时组件需要知道包含此注释的所有Java对象。我可以看到,有一些方法可以找到具有注释类型的类,但从类到类的实例要困难得多。我希望避免在构造函数中显式地“注册”对象,尽管我可以这样做作为最后的手段


关于如何实现这一点,您有什么建议吗?

您可以使用某种HashMap缓存来存储要更新的对象

1) 编写注释
@updateable
以标记可更新的对象

2) 编写包含要更新的所有对象的HashMap


3) 在应用程序初始化时,通过使用
@updateable
查找对象来初始化此HashMap,如果您使用的是Spring,您可以为此编写自定义程序。

您可以查看一下,谢谢,但可能所有这些方法都有点过于激烈。现有对象没有内置注册表,因此,在“过于激烈”的类别之外,你找不到解决方案。查找类的对象意味着执行垃圾收集器所做的操作,遍历所有引用以查找所有现有对象。好的-我更喜欢一个不要求对象是Springbean的解决方案,但是对于这个建议,您的答案很有趣。注意,对于HashMap(我已经考虑过了),我想我需要一个WeakIdentityHashMap,不幸的是它并不存在。