完全アイデンティティ・マップ |
完全なキャッシュと保証されたアイデンティティを提供します。すべてのオブジェクトをキャッシュし、オブジェクトを削除しません。この方法は、多数のオブジェクトが読み取られると、メモリーを大量に使用する場合があります。バッチ・タイプ処理では使用できません。 |
ソフト・キャッシュの弱いアイデンティティ・マップ(JDK 1.2のデフォルト、JDK 1.2以上で使用可能) |
最も使用頻度の高いサブキャッシュを保持すること以外は、弱いアイデンティティ・マップとほぼ同様です。サブキャッシュのサイズは、ディスクリプタのsetIdentityMapSize()メソッドで指定されているとおりアイデンティティ・マップのサイズに比例します。サブキャッシュは、システムのメモリーが不足した場合のみこれらのオブジェクトでガベージ・コレクションが行われるようにするため、弱い参照を使用します。 |
ハード・キャッシュの弱いアイデンティティ・マップ(JDK 1.2以上で使用可能) |
サブキャッシュでハード参照を使用すること以外は、ソフト・キャッシュの弱いアイデンティティ・マップとほぼ同様です。ソフト参照がプラットフォーム上で正しく動作しない場合は、このアイデンティティ・マップを使用します。 |
弱いアイデンティティ・マップ(JDK 1.2以上で使用可能) |
弱い参照を使用してマップがオブジェクトを保持すること以外は、完全アイデンティティ・マップとほぼ同様です。この方法では完全ガベージ・コレクションが可能です。完全なキャッシュと保証されたアイデンティティも提供されます。 |
キャッシュ・アイデンティティ・マップ |
キャッシュとアイデンティティを提供しますが、アイデンティティは保証しません。キャッシュ・アイデンティティ・マップは、アプリケーションで指定された決まった数のオブジェクトを保持します。オブジェクトは最も使用順序の低いキャッシュから削除されます。この方法では最も使用頻度の高いオブジェクトのオブジェクト・アイデンティティが許可されます。 |
アイデンティティ・マップなし |
オブジェクト・アイデンティティを保持せず、オブジェクトもキャッシュしません。 |