okuyama.imdst.util
クラス DiskBaseCacheMap

java.lang.Object
  上位を拡張 java.util.AbstractMap<K,V>
      上位を拡張 java.util.HashMap<K,V>
          上位を拡張 java.util.LinkedHashMap
              上位を拡張 okuyama.imdst.util.DiskBaseCacheMap
すべての実装されたインタフェース:
java.io.Serializable, java.lang.Cloneable, java.util.Map

public class DiskBaseCacheMap
extends java.util.LinkedHashMap

LinkedHashMapを継承して読み出し用途専用のLRUキャッシュを実現.
主にFileMode時のValueのキャッシュに利用.
putされたKeyはメモリに、Valueはコンストラクタで指定したファイルに
書き出される.
読み出しは都度ディスクからの読み出しとなるため、キャッシュ元のデータが
メモリなどの場合は本キャッシュでの高速化は期待できない
キャッシュ元のデータがHDDなどの読み出しが低速デバイスの場合は
本キャッシュのデータ配置場所をNAND型フラッシュメモリなどにすることで
高速化を図ることが出来る.
なお、書き込みは低速であるため、外部でバックグラウンド書き込みなどの工夫が必要となる.
全てのメソッドはスレッドセーフに実装されている.

作成者:
T.Okuyama
関連項目:
直列化された形式

入れ子のクラスの概要
 
クラス java.util.AbstractMap から継承された入れ子のクラス/インタフェース
java.util.AbstractMap.SimpleEntry<K,V>, java.util.AbstractMap.SimpleImmutableEntry<K,V>
 
フィールドの概要
 boolean errorFlg
           
 
コンストラクタの概要
DiskBaseCacheMap(int maxCacheCapacity, java.io.File cacheFile)
           
 
メソッドの概要
 void clear()
          clear
 boolean containsKey(java.lang.Object key)
          containsKey
 void existsCacheFile()
          データファイルの存在確認用メソッド
 java.lang.Object get(java.lang.Object key)
          get
 java.lang.Object put(java.lang.Object key, java.lang.Object value)
          set
 java.lang.Object remove(java.lang.Object key)
          remove
protected  boolean removeEldestEntry(java.util.Map.Entry eldest)
          削除指標実装.
 
クラス java.util.LinkedHashMap から継承されたメソッド
containsValue
 
クラス java.util.HashMap から継承されたメソッド
clone, entrySet, isEmpty, keySet, putAll, size, values
 
クラス java.util.AbstractMap から継承されたメソッド
equals, hashCode, toString
 
クラス java.lang.Object から継承されたメソッド
finalize, getClass, notify, notifyAll, wait, wait, wait
 
インタフェース java.util.Map から継承されたメソッド
entrySet, equals, hashCode, isEmpty, keySet, putAll, size, values
 

フィールドの詳細

errorFlg

public boolean errorFlg
コンストラクタの詳細

DiskBaseCacheMap

public DiskBaseCacheMap(int maxCacheCapacity,
                        java.io.File cacheFile)
                 throws java.io.FileNotFoundException
例外:
java.io.FileNotFoundException
メソッドの詳細

put

public java.lang.Object put(java.lang.Object key,
                            java.lang.Object value)
set

定義:
インタフェース java.util.Map 内の put
オーバーライド:
クラス java.util.HashMap 内の put
パラメータ:
key -
value -

containsKey

public boolean containsKey(java.lang.Object key)
containsKey

定義:
インタフェース java.util.Map 内の containsKey
オーバーライド:
クラス java.util.HashMap 内の containsKey
パラメータ:
key -
戻り値:
boolean

get

public java.lang.Object get(java.lang.Object key)
get

定義:
インタフェース java.util.Map 内の get
オーバーライド:
クラス java.util.LinkedHashMap 内の get
パラメータ:
key -
戻り値:
Object

remove

public java.lang.Object remove(java.lang.Object key)
remove

定義:
インタフェース java.util.Map 内の remove
オーバーライド:
クラス java.util.HashMap 内の remove
パラメータ:
key -
戻り値:
Object

clear

public void clear()
clear

定義:
インタフェース java.util.Map 内の clear
オーバーライド:
クラス java.util.LinkedHashMap 内の clear

existsCacheFile

public void existsCacheFile()
データファイルの存在確認用メソッド


removeEldestEntry

protected boolean removeEldestEntry(java.util.Map.Entry eldest)
削除指標実装.

オーバーライド:
クラス java.util.LinkedHashMap 内の removeEldestEntry