Перейти к содержанию
Авторизация  
dislike

Singletonholder

Рекомендуемые сообщения

Вопрос к гуру кодинга.

Что эффективней использовать ?

private static final SomeClass _instance = new SomeClass();
public static SomeClass getInstance()
{
 return _instance;
}

Или же сам паттерн SingletonHolder

 

private static class SingletonHolder
{
 protected static final SomeClass _instance = new SomeClass();
}
public static final SomeClass getInstance()
{
 return SingletonHolder._instance;
}

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

Как я понимаю, оба варианта создают один экземпляр класса, но что будет потом удалено сборщиком мусора, а что нет ?

Изменено пользователем dislike

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не реклама http://habrahabr.ru/post/129494/

Это я читал, но наверное я не до конца понимаю, что делает паттерн. Он лениво инициализирует экземпляр нужного класса, причем единожды, но потом он будет удален сборщиком мусора или нет ?

Изменено пользователем dislike

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это я читал, но наверное я не до конца понимаю, что делает паттерн. Он лениво инициализирует экземпляр нужного класса, причем единожды, но потом он будет удален сборщиком мусора или нет ?

нет не будет

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

нет не будет

Почему ? А в первом варианте ?

Через профилировщик я не смог найти ответ на вопрос.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Почему ? А в первом варианте ?

Через профилировщик я не смог найти ответ на вопрос.

зачем забивать голову или спутник летит на марс? Сборщик мусора удаляет объект при отсутствии ссылки на него. Если класс статический не нужно создавать объект этого класса следовательно никуда он не исчезнет после загрузки в jvm. если долетит значит я прав :D

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

зачем забивать голову или спутник летит на марс? Сборщик мусора удаляет объект при отсутствии ссылки на него. Если класс статический не нужно создавать объект этого класса следовательно никуда он не исчезнет после загрузки в jvm. если долетит значит я прав :D

Спс за разъяснение, просто плохо я для себя уяснил что делает ключевое слово static. Тогда получается лучше использовать паттерн.

Изменено пользователем dislike

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...