2012-01-16 1 views
1

私はJavaプロジェクトをEclipse(RAD、実際には)で作成しています。それはiTextを使用することによってかなりの量のメモリを使用します。私はより少ないメモリを使用すると思われる私のiTextドキュメントを生成する別の方法を使用して探しています。私はどのくらいのメモリを使用して知ってほしい。Eclipseで1つのJavaオブジェクトで使用されているメモリを調べたい場合

私は、どのオブジェクトがメモリの最大部分のルートになるのか知っています。私がブレークポイントを設定してから、そのオブジェクト(すなわち、それによって使用されるメモリとその直接的および間接的な参照すべて)で始まる深いコピーメモリを教えてくれるものを実行すれば、私の目的にとっては問題ないでしょう。

私は1時間メモリモニタとヒープダンプアナライザなどを見てきましたが、かなり混乱しています。それらのすべては、別の問題に答えることを指摘しているようで、少なくとも私がそれらをインストールして動作させることができたとしても、私の質問に答えるかどうかは不明です。

誰かがこの限られた質問に答えるための合理的に簡単な方法を教えてもらえますか?私は、現在の方法でコードを実行し、このオブジェクトとおそらく1つまたは2つの他のものによって使用されているメモリを見つけて、再度実行して同じ値を見れば、新しいテクニックがどれほどうまくいくか分かります。

RC

答えて

1

http://www.eclipse.org/mat/

私にとって素晴らしい作品...チュートリアルは、あなたが独立して、すべてのOracle JDKおよび利用可能に同梱JVisualVMを、アップ発射できる

+0

@さらに詳しい質問はありますか? –

0

を含まれています。

プロセスを監視し、ある時点でヒープダンプを実行できます。 ヒープダンプタブでは、OQLコンソールでオブジェクト[s]を選択できます。 オブジェクトのインスタンスを表示するときに、保持されているサイズの計算を要求できます。それはあなたのオブジェクトの合計サイズを与えるでしょう。

関連する問題