Можно ли иметь несколько экземпляров статических переменных - PullRequest
6 голосов
/ 28 июля 2010

Статические переменные имеют только экземпляр (то есть они являются частью класса). например: Math.pi

Можно ли как-нибудь использовать несколько экземпляров статических переменных? Я слышал, что что-то связано с Classloaders?

1 Ответ

14 голосов
/ 28 июля 2010

Если вы обнаружите, что вам нужно несколько экземпляров статической переменной, это убедительный признак того, что вам не следует использовать статические переменные в первую очередь.

Да, если один и тот же класс загружен в разныеЗагрузчики классов, тогда каждая копия класса будет иметь свою собственную статику.Однако единственным кодом, который может статически ссылаться на эту статику, будут классы, загруженные одним и тем же загрузчиком классов.И, конечно же, этот код будет (статически) видеть статику только в одном экземпляре класса.Так что вы, вероятно, многого не достигли.

Вместо того, чтобы возиться с загрузчиками классов, вам следует провести рефакторинг своего кода, чтобы превратить статические переменные в переменные экземпляра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...