java使用hashMap缓存保存数据的方法

时间:2022-01-21 06:31:39

本文实例讲述了java使用hashMap缓存保存数据的方法。分享给大家供大家参考,具体如下:

?
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
30
31
32
33
34
35
36
37
private static final HashMap<Long, XXX> sCache = new HashMap<Long, XXX>();
private static int sId = -1;
public static void initAlbumArtCache() {
  try {
    //。。。
    if (id != sId) {
      clearCache();
      sId = id;
    }
  } catch (RemoteException e) {
    e.printStackTrace();
  }
}
public static void clearCache() {
  synchronized(sCache) {
    sCache.clear();
  }
}
public static XXX getCachedXXX(long Index, BitmapDrawable defaultBitmap) {
  XXX d = null;
  synchronized(sCache) {
    d = sCache.get(Index);
  }
  if (d == null) {
    //。。。
    synchronized(sArtCache) {
      // the cache may have changed since we checked
      XXX value = sCache.get(Index);
      if (value == null) {
        sCache.put(Index, d);
      } else {
        d = value;
      }
    }
  }
  return d;
}

 

希望本文所述对大家java程序设计有所帮助。