快取是軟體設計中乙個非常有用的模式,快取的實現方式很多,不同的實現方式可能存在較大的效能差別。
本節使用乙個陣列來作為快取池,從而實現乙個具有例項快取的不可變類
public class cacheimmutable
private final string name;
private static cacheimmutable cache=new cacheimmutable[10];
private static int pos=0;
public cacheimmutable(string name)
if(pos==10)
{ cache[0]=new cacheimmutable(name);
pos=1;
return cache[0];
else
{ cache[pos++]=new cacheimmutable(name);
return cache[pos-1];
快取簡單實現
時間和次數觸發更新 有快取雪崩的情況,更新有更新鎖,還是有點併發問題,不適用於高併發,不嚴謹,簡單實現.有乙個更新就可以了,不要都更新 切記 獲取鎖後在finally裡釋放該鎖!否則將導致無法獲取到鎖來更新快取。如果重新整理時間小於1小時且訪問次數小於100且已經重新整理完成可以直接從快取中取,否則...
Lru快取的簡單實現
最近最少使用演算法設計的map快取 使用linkedhashmap特性,完成當快取超過指定容量時,擠掉最久未使用的資源。具體編寫的工具類如下 一 cache類 繼承linkedhashmap 用於儲存資料 class cache extends linkedhashmap 取得元素耗費儲存空間大小 ...
iOS實現簡單的block的例子
oc中的block主要用來儲存一段 在需要的時候執行。下面是乙個小的例子 import viewcontroller.h inte ce viewcontroller myblock 定義乙個block property nonatomic,copy void myblock end impleme...