メモリ使用量に制限のあるlruキャッシュを使用しています。lruキャッシュには、ハッシュマップとリンクリストの2つのデータ構造が含まれています。ハッシュマップはキャッシュオブジェクトを保持し、リンクリストはキャッシュオブジェクトのアクセス順序の記録を保持します。Javaオブジェクトのメモリ使用量を判断するために、オープンソースツールであるClassmexerエージェントを使用します。Classmexerエージェントは、http: //www.javamex.com/classmexer/にある単純なJavaインストルメンテーションエージェントです。
http://sizeof.sourceforge.net/でSizeOfという名前の別のツールを試します。
問題は、パフォーマンスが非常に高いことです。オブジェクトサイズを測定するための1回の操作の時間コストは約1.3秒であり、非常に低速です。これにより、キャッシングのメリットをゼロにすることができます。
生きているときにJavaオブジェクトのメモリサイズを測定する他の解決策はありますか?
ありがとう。