- 作者: Robert Simmons Jr.,福龍興業,佐藤直生,木下哲也,石井史子
- 出版社/メーカー: オライリージャパン
- 発売日: 2004/10
- メディア: 単行本
- 購入: 9人 クリック: 116回
- この商品を含むブログ (83件) を見る
でソフト参照については学んでたんだけど、いつ使うのかわからなかった。
ソフト参照とは、「ヒープ上のメモリが少ない場合のみに削除される」参照だ。
GCで弱い参照はすべて削除されるが、それでも枯渇しているときソフト参照のオブジェクトを削除する。
Java魂ではキャッシュマネージャなどのツールに便利とあったけど、それってあまり使い道がないな、と考えてた。
Release It! 本番用ソフトウェア製品の設計とデプロイのために
- 作者: Michael T. Nygard,でびあんぐる
- 出版社/メーカー: オーム社
- 発売日: 2009/02/21
- メディア: 単行本(ソフトカバー)
- 購入: 13人 クリック: 129回
- この商品を含むブログ (48件) を見る
でなるほど、と思った。
Webアプリケーションで巨大なオブジェクトをセッションに保持しなければならないときに、ソフト参照でオブジェクトをラップしてセッションに保持する、と。
(セッションに巨大なオブジェクトを保持しない、というのが一番だけど)
これは実用的で納得のいく使い方。
予想を超えたアクセスなどで大量にセッションを作成してメモリを使用したとき、仮にそれぞれのユーザーに対して巨大なオブジェクトをセッションに保持すれば、あっという間にメモリが枯渇する。
もしソフト参照を利用していれば、OutOfMemoryを出さずに稼働させることができる、
少なくともセッションのメモリ利用でダウンすることはなくなる。
「Release It!」のよい点はケーススタディが実際に起こった障害を基にしているから実践的であることと、対処法がいくつもあってそれぞれ具体的であるというところがすごくいい。