快取的簡單實現例子

2021-07-24 05:05:25 字數 496 閱讀 3515

快取是軟體設計中乙個非常有用的模式,快取的實現方式很多,不同的實現方式可能存在較大的效能差別。

本節使用乙個陣列來作為快取池,從而實現乙個具有例項快取的不可變類

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...