0

別のJVMからJVMに既存のクラスオブジェクトをロードする方法は?

サーバーでまれなシナリオを分析しています。状況を解決するのに役立つ適切なログがサーバーにありません。特定のクラス オブジェクト (ユーザー定義) に問題がある可能性があると思います。

たとえば、以下はクラスです。

public class MyRequest 
{
  public byte[] getData()
  {
    return somdata;
  }
}

現在、サーバーの JVM では、上記のクラス オブジェクトが数百個、JVM のメモリ内にあります。100 個のオブジェクトすべてをロードし、それらのデータ/メソッドにアクセスする可能性があるかどうかを知りたいです ( getData())。MyRequest クラスの新しいインスタンスを作成したくありません (非常に簡単だとわかっています)。JVM から別の Java プロセスを介して既存のオブジェクトをロードしたいと考えています。

PS : 何らかの理由でサーバーを強制終了することはできません。PS:そして、visualvmなどのツールをインストールすることはできません。ツールを使用すると、オブジェクトの種類、メモリはわかりますが、正確なデータはわかりません。

4

4 に答える 4

0

死後分析ツールを使用してプログラムの状態を分析できるように、JVM に (kill シグナルなどを使用して) その状態をディスクにダンプするように指示できることに注意してください。

キーワードは「core」と「hprof」ですが、私はまだこれを自分で行っていません。

于 2014-03-02T07:49:25.693 に答える