본문 바로가기
Java/공부

자바 싱글턴

by 므시칸곰틔군 2018. 4. 9.

1.

public class Singleton {


private static Singleton singleton = new Singleton();

private Singleton() {

// TODO Auto-generated constructor stub

}

public static Singleton getInstance() {

return singleton;

}

}



2.

public class Singleton {


private static Singleton singleton = null;


private Singleton() {

// TODO Auto-generated constructor stub

}


// 해당 인스턴스는 완벽한 싱글턴이 안된다. 스레드 타이밍에 여러개의 인스턴스가생길 수 있다.

// public static Singleton getInstance() {

// if (singleton == null) {

// singleton = new Singleton();

// }

// return singleton;

// }


public static synchronized Singleton getInstance() {

if (singleton == null) {

singleton = new Singleton();

}

return singleton;

}

}

2번의 경우 객체를 생성 할 때 문제가 생성될 수 있기에 synchronized써서 완전한 싱글턴으로 만들어야 한다.





'Java > 공부' 카테고리의 다른 글

자바 컬렉션  (0) 2018.04.05
자바 표기법.  (0) 2015.05.21
반복문  (0) 2015.01.05
연산자.  (0) 2015.01.05
변수  (0) 2014.07.10