1700474724
//池中没有该对象,则建立,并放入池中
1700474725
1700474726
if(!pool.containsKey(key)){
1700474727
1700474728
System.out.println(key+”–-建立对象,并放置到池中”);
1700474729
1700474730
result=new SignInfo4Pool(key);
1700474731
1700474732
pool.put(key,result);
1700474733
1700474734
}else{
1700474735
1700474736
result=pool.get(key);
1700474737
1700474738
System.out.println(key+”–直接从池中取得”);
1700474739
1700474740
}
1700474741
1700474742
return result;
1700474743
1700474744
}
1700474745
1700474746
}
1700474747
1700474748
方法都很简单,不多解释。读者需要注意一点的是@Deprecated注解,不要有删除投产中代码的念头,如果方法或类确实不再使用了,增加该注解,表示该方法或类已经过时,尽量不要再使用了,我们应该保持历史原貌,同时也有助于版本向下兼容,特别是在产品级研发中。
1700474749
1700474750
我们再来看看客户端是如何调用的,如代码清单28-6所示。
1700474751
1700474752
代码清单28-6 场景类
1700474753
1700474754
public class Client{
1700474755
1700474756
public static void main(String[]args){
1700474757
1700474758
//初始化对象池
1700474759
1700474760
for(int i=0;i<4;i++){
1700474761
1700474762
String subject=“科目”+i;
1700474763
1700474764
//初始化地址
1700474765
1700474766
for(int j=0;j<30;j++){
1700474767
1700474768
String key=subject+“考试地点”+j;
1700474769
1700474770
SignInfoFactory.getSignInfo(key);
1700474771
1700474772
}
1700474773
[
上一页 ]
[ :1.700474724e+09 ]
[
下一页 ]