잡동사니에도 사랑을

[21.08.23] SingleTon 본문

JAVA_SE/10_exception_thread

[21.08.23] SingleTon

luvforjunk 2021. 8. 26. 00:40
728x90
반응형

package thread;

 

public class SingleTon {

         private int num = 3;

         private static SingleTon instance = null; // 초기화 한번

 

         public static SingleTon getInstance() { // 자료형 : SingleTon

                  if (instance == null) { // instance null 경우는 한번임

                           synchronized(SingleTon.class) { // 한꺼번에 들어가지 말고 하나만

                           instance = new SingleTon(); // 처음 한번만 수행하고 다음부터 안한다

                           }

                  }

                  return instance;

         }

 

         public static void main(String[] args) {

                  SingleTon aa = new SingleTon();

                  aa.num++;

                  System.out.println("aa = " + aa); // @16진수.

                  System.out.println("num = " + aa.num); // 4

                  System.out.println();

 

                  SingleTon bb = new SingleTon();

                  bb.num++;

                  System.out.println("bb = " + bb); // @16진수

                  System.out.println("num = " + bb.num);

                  System.out.println();

 

                  System.out.println("--- 싱글톤 ---"); // 메모리에 한번만 잡겠다. 주소값 같게 잡힘

                  SingleTon cc = SingleTon.getInstance();

                  cc.num++;

                  System.out.println("cc = " + cc); // @16진수

                  System.out.println("num = " + cc.num); // 4

                  System.out.println();

 

                  SingleTon dd = SingleTon.getInstance();

                  dd.num++;

                  System.out.println("dd = " + dd); // @16진수

                  System.out.println("num = " + dd.num); // 5

                  System.out.println();

 

         }

 

}

 

// SingleTon cc = new SingleTon();.....(x)

// SingleTon cc = SingleTon.getInstance() - 메소드 이용. static이니까 클래스명으로 다이렉트하게 들어감

 

// new 시켜주면 heap메모리를 차지하고, 무조건 메모리에 new한만큼 만든다

 

728x90
반응형

'JAVA_SE > 10_exception_thread' 카테고리의 다른 글

[21.08.20] JoinMain  (0) 2021.08.25
[21.08.24] ThreadOnOff  (0) 2021.08.25
[21.08.24] Synchronized(동기화)  (0) 2021.08.25
[21.08.24] ATMTest  (0) 2021.08.25
[21.08.23] Packman  (0) 2021.08.25