디자인 모드 (다 중 예)

3022 단어 자바 기술
다 중 예: 단일 디자인 모델 의 변형 은 캐 시 풀 의 단일 예 로 볼 수 있 고 캐 시 풀 에 여러 개의 데 이 터 를 저장 할 수 있 습 니 다.
//  +  ---       

public class A {
    //1        privateprivate static Map pool = new HashMap(); // --  :  Map:key-value

    public synchronized static A getInstance(String key){
        //2  key      obj
        A obj = pool.get(key);
        if(obj==null){
            obj = new A();
            pool.put(key, obj);
        }
        //3   obj     ,               
        return obj}}

import java.util.HashMap;
import java.util.Map;

//  +  ---     ,     key        

public class A {
    //1        
    private static Map pool = new HashMap(); // --  :  Map:key-value

    //       
    private static int num=0;

    //   
    private static int MAX_SIZE=3;

    public synchronized static A getInstance(){
        //2  num      obj
        A obj = pool.get(num);
        if(obj==null){
            obj = new A();
            pool.put(num, obj);
        }
        num = (num+1)%MAX_SIZE;  //  : 0 ~ MAX_SIZE-1
        //3   obj     ,               
        return obj;
    }

}

좋은 웹페이지 즐겨찾기