奶头挺立呻吟高潮av全片,成人试看120秒体验区,性欧美极品v,A片高潮抽搐揉捏奶头视频

java語言

java設計模式:多例模式

時間:2024-08-12 13:25:43 java語言 我要投稿
  • 相關推薦

java設計模式:多例模式

  導語:Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征。下面我們來看看多例模式,希望對大家有所幫助。

  多例設計模式:單例+緩存

  ★ 緩存在單例中的使用

  緩存在編程中使用很頻繁,有著非常重要的作用,它能夠幫助程序實現以空間換取時間,通常被設計成整個應用程序所共享的一個空間,

  現要求實現一個用緩存存放單例對象的類。

  說明:該緩存中可以存放多個該類對象,每個對象以一個key值標識,key值相同時所訪問的是同一個單例對象。

  類對象

1
2
3
4
5
6
7
8
9
10
11
12
13
14
package cn.hncu.pattern.multi;          
public class A {          
   private int value;          
   public int getValue() {          
       return value;          
   }          
   public void setValue(int value) {          
       this.value = value;          
   }          
             
}          

  實現方式1:key值由用戶指定

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package cn.hncu.pattern.multi;          
import java.util.HashMap;          
import java.util.Map;          
//該版本的key由用戶來指定(如servlet緩存中的url,由用戶在請求時發送過來)。池中的對象個數沒控制          
public class MyBuffer {          
   //1創建一個存放多個對象的容器----單例          
   private static Map<string, a=""> map = new HashMap<string, a="">();          
             
   //2給外面提供一個從容器獲取對象的方法          
   public static A getInstance(String key){          
                 
       //3先到容器中拿          
       A a = map.get(key);          
                 
       //4如果沒拿到,則創建一個新的放入容器中,并返回該新創建的對象。          
       // 如果拿到,則直接返回          
       if(a==null){          
           a = new A();          
           map.put(key, a);          
       }          
                 
       return a;          
   }          
             
}          
</string,></string,>          

  實現方式2:key值由代碼內部自己決定

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package cn.hncu.pattern.multi;          
import java.util.HashMap;          
import java.util.Map;          
//該版本的key由當前緩存類來維護。能夠控制緩存中對象的個數          
public class MyBuffer2 {          
   //定義一個單例的池          
   private static Map<integer, a=""> map = new HashMap<integer, a="">();          
             
   private static int num=1;          
   private static final int MAX=5;          
             
   public static A getInstance(){          
       A a = map.get(num);          
       if(a==null){          
           a = new A();          
           map.put(num, a);          
       }          
       num++;          
       if(num>MAX){          
           //采用某些算法來處理。我們這里簡單處理:強行把最早放出去的那個給新用戶          
           num=1;          
       }          
       return a;          
   }          
             
}          
</integer,></integer,>          

【java設計模式:多例模式】相關文章:

JAVA設計模式之單例模式07-29

解析Java的設計模式編程之解釋器模式的運用05-19

Java的設計模式編程中責任鏈模式的運用的實例講解07-07

簡單講解Java的Future編程模式方案09-30

教學設計模式的類型09-13

該怎么使用Java設計模式編程中的OCP開閉原則?06-29

Java開發策略模式的簡單應用實現方法09-25

淺談教學設計的模式范文09-24

C語言編程中使用設計模式中的原型模式的講解07-19

photoshop柔光模式和疊加模式的運用教程10-09

主站蜘蛛池模板: 瑞金市| 开原市| 宁津县| 张掖市| 香河县| 沙雅县| 武鸣县| 通海县| 泾川县| 湖口县| 乌鲁木齐县| 昌黎县| 邹平县| 安顺市| 宕昌县| 淮北市| 万载县| 竹北市| 泽库县| 左权县| 准格尔旗| 绥滨县| 交口县| 兴和县| 菏泽市| 宜兴市| 平遥县| 锦屏县| 汉川市| 亳州市| 阜阳市| 万州区| 长阳| 汉中市| 平凉市| 石台县| 湘阴县| 稷山县| 满城县| 伊通| 旅游|