>  기사  >  Java  >  Java 기초 소개 에세이(10) JavaSE Edition - 싱글톤 디자인 패턴

Java 기초 소개 에세이(10) JavaSE Edition - 싱글톤 디자인 패턴

黄舟
黄舟원래의
2016-12-22 13:18:201491검색

디자인 패턴: 문제에 대한 효과적인 솔루션. 사실 그것은 생각이다.

1. 싱글턴 디자인 패턴.

해결된 문제: 메모리에서 클래스 객체의 고유성을 보장할 수 있습니다. (싱글 인스턴스)

싱글턴 디자인 패턴 사용 요구 사항: 동일한 구성 정보 객체를 여러 프로그램에서 사용해야 하는 경우 객체의 고유성이 보장되어야 합니다.

객체 고유성을 어떻게 보장하나요? > >                    out out out out 1. 다른 프로그램에서 객체를 생성하기 위해 new를 사용하는 것을 허용하지 않습니다. >       

2. 이 클래스에 이 클래스의 인스턴스를 만듭니다. 2. New를 통해 이 카테고리에 객체를 생성합니다.

3. 다른 프로그램이 객체를 얻을 수 있는 방법을 제공합니다.                        3. 생성된 객체를 반환하는 공용 메서드를 정의합니다.

위 내용은 Java(10) JavaSE 버전 - Singleton Design Pattern에 대한 기본 입문 에세이입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!
//饿汉式(开发时常用)
class Single//类一加载,对象就已经存在了。
{
	private static Single s = new Single();

	private Single(){}

	public static Single getInstance()
	{
		return s;
	}
}


//懒汉式(面试时常问,在多线程并发访问时候有可能导致不能保证不了对象的唯一性,存在安全隐患!)
class Single2//类加载进来,没有对象,只有调用了getInstance方法时,才会创建对象。
			//延迟加载形式。 
{
	private static Single2 s = null;

	private Single2(){}

	public static Single2 getInstance()
	{
		if(s==null)
			s = new Single2();
		return s;
	}
}

//调用类
class  SingleDemo
{
	public static void main(String[] args) 
	{
		Single s1 = Single.getInstance();
		Single s2 = Single.getInstance();

		System.out.println(s1==s2);
		
//		Single ss = Single.s; //此处不采用这个是因为不可控,采用 Single.getInstance();可以传参数进行相应调用。

	}
}


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.