タグ

ブックマーク / blog.kengo-toda.jp (1)

  • LinkedHashMapを応用した、意外と便利なLRUCacheの実装 - Kengo's blog

    ※この記事の内容は古いです。実用されるならこちらの記事も参照ください。 アプリケーションのパフォーマンス向上にキャッシュが有効なケースがあります。 memcachedをはじめとした分散型キャッシュのAPIJava標準(候補)のJCacheを利用しても良いのですが、小規模ならばJavaヒープ内で完結するキャッシュを作成するのが手軽で効果的でしょう。 単にMapをキャッシュとして使ってしまうとJavaヒープを圧迫するため、再利用可能性が低い要素を捨てる仕組みを実装しましょう。LinkedHashMapにはLRUアルゴリズムによるキャッシュアウトを実装するために有効な2つの特徴が備わっており、これを利用するのがおすすめです。 1つめはアクセス順に要素を並べる機能。コンストラクタの第3引数にtrueを渡すことで利用可能になります。 2つめは新しく要素を追加する際に最も古い要素を削除するためのメソ

    LinkedHashMapを応用した、意外と便利なLRUCacheの実装 - Kengo's blog
    qaz76
    qaz76 2015/07/20
  • 1