Шаблон проектирования Java Singleton: Вопросы - PullRequest
17 голосов
/ 07 августа 2010

Недавно у меня было интервью, и он спросил меня о шаблонах проектирования Singleton о том, как они реализованы, и я сказал ему, что используя статические переменные и статические методы, мы можем реализовать шаблоны проектирования Singleton.

Кажется, он наполовину удовлетворен ответом, но я хочу знать

  1. Сколько разных способов мы можем реализовать шаблон проектирования Singleton в Java?
  2. Каков охват Singleton Object и как он на самом деле работает внутри JVM? Я знаю, что у нас всегда будет один экземпляр Singleton Object, но какова фактическая область действия этого объекта, является ли она в JVM или если запущено несколько приложений, чем область действия для каждого контекста внутри JVM, я был действительно озадачен этим и не смог дать удовлетворительного объяснения?
  3. Наконец, он спросил, возможно ли использовать Singleton Object с Clusters с объяснением, и есть ли способ заставить Spring не реализовывать Singleton Design Pattern, когда мы вызываем Bean Factory для получения объектов?

Любые отзывы будут высоко оценены в отношении синглтона, и что нужно учитывать при работе с синглетонами?

Спасибо.

Ответы [ 11 ]

0 голосов
/ 07 августа 2010

статическое поле может иметь несколько вхождений в одной JVM - с помощью загрузчиков разностных классов один и тот же класс можно загружать и инициализировать несколько раз, но каждый из них живет изолированно, и JVM рассматривает загруженные в результате классы как совершенно разные классы.*

Я не думаю, что программисту на Java должно быть все равно, если он не пишет некоторые фреймворки.«Один на ВМ» - достаточно хороший ответ.Люди часто говорят так, в то время как строго говоря, они говорят «по одному на загрузчик классов».

Можем ли мы иметь один синглтон на кластер?Ну, это игра концепций.Я не хотел бы, чтобы интервьюер так сказал.

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