Java 静态最终版本';s和多类加载器

Java 静态最终版本';s和多类加载器,java,static,classloader,final,Java,Static,Classloader,Final,我有这样的定义 public static final Object foo = Xyz.generateFoo(); 我的应用程序使用多个自定义类装入器。如何确保所有类都能看到相同的foo 最好不使用外部存储(即System.Properties或文件)。谢谢。在由公共父类加载器加载的类中放置一个对值的引用。是希望返回此Xyz.generateFoo()始终保持不变,或在分配给变量后保持不变公共静态最终对象foo=Xyz.generateFoo()您希望随时随地访问同一实例。请注意,如果某

我有这样的定义

public static final Object foo = Xyz.generateFoo(); 
我的应用程序使用多个自定义类装入器。如何确保所有类都能看到相同的
foo


最好不使用外部存储(即System.Properties或文件)。谢谢。

在由公共父类加载器加载的类中放置一个对值的引用。

是希望返回此
Xyz.generateFoo()
始终保持不变,或在分配给变量后保持不变
公共静态最终对象foo=Xyz.generateFoo()
您希望随时随地访问同一实例。

请注意,如果某些自定义类加载器违反了“先检查父类加载器”规则(例如,像webapp类加载器那样),则无法确保它


否则,您可以按照Tom Hawtin的建议,将该字段放在父类加载器加载的类中。

将日期存储在文件中不会以任何方式保证相同的foo实例。此外,类加载器通常具有树结构,父类加载器加载的任何内容都是相同的。