0

Java アプレットを複数回開いた後にハングする状況があります。これは、RAM が少ないシステムでのみ発生するため、メモリ リークがあるか、ヒープに割り当てられたメモリが不足していると思われます。

アプレットのメモリ リークをテストするにはどうすればよいですか? JProbe のようなものは機能しますか?

4

1 に答える 1

0

特定のワークステーションで RAM が少ないことは問題ではないと思います。

特に指定されていない場合 (-Xmx設定で)、Java アプレット64MBは開始時にメモリを取得します。JVMは最初にこの量の RAM をシステムから予約するため、システムで使用可能なメモリが少ない場合、JVM (したがってアプレット) は起動しません。

ただし、起動すると、構成されたすべてのメモリが使用可能であることが保証されます。したがって、アプレットにまだメモリが不足している場合は、次の 2 つの可能性があります。

  1. デフォルト設定 (64MB) は低です。アプレットを構成して RAM を増やしてください。
  2. リソースを適切に解放していないため、メモリ リークが発生しています。アプレットのライフサイクル メソッドを見て、必要なリソースを解放しているかどうかを確認してください。

また、最終的にアプレットがハングすると言います。何が起こっているかを確認するには、ライフサイクル メソッドにログを追加し、Java コンソールを有効にして、例外を探します。

于 2012-06-20T15:01:01.110 に答える