日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

享元模式详解

發布時間:2024/7/23 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 享元模式详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

SignInfo.java

public class SignInfo {/*** 報名人員ID.*/private String id;/*** 考試地點.*/private String location;/*** 考試科目.*/private String subject;/*** 郵寄地址.*/private String postAddress;/*** 獲取id.* @return the id*/public String getId() {return id;}/*** 設置id.* @param newId the id to set*/public void setId(String newId) {id = newId;}/*** 獲取location.* @return the location*/public String getLocation() {return location;}/*** 設置location.* @param newLocation the location to set*/public void setLocation(String newLocation) {location = newLocation;}/*** 獲取subject.* @return the subject*/public String getSubject() {return subject;}/*** 設置subject.* @param newSubject the subject to set*/public void setSubject(String newSubject) {subject = newSubject;}/*** 獲取postAddress.* @return the postAddress*/public String getPostAddress() {return postAddress;}/*** 設置postAddress.* @param newPostAddress the postAddress to set*/public void setPostAddress(String newPostAddress) {postAddress = newPostAddress;}}

SignInfoForPool.java

public class SignInfoForPool extends SignInfo {/*** 定義一個對象池提取的key值.*/private String key;public SignInfoForPool(final String key) {this.key = key;}/*** 獲取key.* @return the key*/public String getKey() {return key;}/*** 設置key.* @param newKey the key to set*/public void setKey(String newKey) {key = newKey;}}

SignInfoFactory.java

public class SignInfoFactory {/*** 池容器.*/private static Map<String, SignInfo> pool = new HashMap<>(64);public static SignInfo getSignInfo(final String key) {// 設置返回對象.SignInfo result = null;// 池中沒有該對象,則建立,并放入池中.if (!pool.containsKey(key)) {System.out.println(key + "----建立對象,并放置到池中.");result = new SignInfoForPool(key);pool.put(key, result);} else {result = pool.get(key);System.out.println(key + "----直接從池中取得.");}return result;} }

Client.java

public class Client {/*** @param args*/public static void main(String[] args) {// 初始化對象池.for (int i=0; i<4; i++) {String subject = "科目" + i;// 初始化地址.for (int j=0; j<30; j++) {String key = subject + "考試地點" + j;SignInfoFactory.getSignInfo(key);}}// 獲取對象.SignInfo signInfo = SignInfoFactory.getSignInfo("科目1考試地點1");}}

總結

以上是生活随笔為你收集整理的享元模式详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。