0

サーバーとの通信にadobeflex4.6とblazeds4.0を使用しています。クライアントはサーバーでRMIを作成します。サーバーは、ユーザー定義のクラスオブジェクトで構成されるarrayListを返します。200000個のオブジェクトがarrayListに追加されたと仮定します。このarrayListがブレイズドに返されると、JVMで大量のメモリを消費し、そのクライアントWebブラウザのメモリ使用量も増加しました。さらに、占有されている巨大なメモリは、JVMで収集されたガベージではありません。これにより、さらに多くのリクエストが着信すると、最終的にメモリ不足エラーが発生します。以下に、arrayListをblazedに送信するためのサンプルコードを示します。SampleClassクラスには、ゲッターとセッターを含むint型の3つの変数があります。

List list = new ArrayList();
for(i=0;i<200000;i++)
{ SampleClass  sampleClassObj = new SampleClass();
  sampleClassObj.setId(1);
  sampleClassObj.setAge(20);
  sampleClassObj.setEmpId(100);
  list.add(sampleClassObj);
} 

return list;

ブレイズドで大量のメモリを消費したり、そのメモリをガベージコレクションしたりしないように、すぐに解決策を返信してください。

4

0 に答える 0