Четверг
25-04-2024
21:08
Главная страница
Каталог статей
Информист Приветствую Вас Гость | RSS
Регистрация
Вход
Меню сайта

Категории каталога
Delphi [3]
C++ [5]
Java [28]
программирование на Java
Assembler [4]
Алгоритмы на ассме
C# [1]
Eclipse [1]

Наш опрос
Что Вы веберете
Всего ответов: 230

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

Начало » Статьи » Programming » Java

Singleton + Lazy load
/**
 * Самый обычный шаблон singleton для однопоточной системы с одним контекстом
 */

// Without lazy load
final class Singleton {
	private static Singleton instance = new Instance();
	private Singleton() {};
	public static Singleton getInstance() {
		return instance;
	}
}

// With lazy load
final class Singleton {
	private static Singleton instance;
	private Singleton() {};
	public static Singleton getInstance() {
		if (null == instance) {
			instance = new Instance();
		}
		return instance;
	}
}

Возможны проблемы с шаблоном:

  • несколько класслоадеров
  • объект был сериализирован и десериализован
  • не учитывается синхронизация во вногопоточном приложении

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

Категория: Java | Добавил: Judge (22-12-2012)
Просмотров: 982 | Рейтинг: 0.0 |

Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа

Поиск по каталогу
Яндекс


Поиск по Информисту

Наша кнопка


Друзья сайта

Статистика


Copyright MyCorp © 2006Сайт создан в системе uCoz