0

fork and join フレームワークを使用してこのプログラムを実行しようとしています。小さいサイズの JPEG 画像をこのプログラムにフィードすると正常に動作しますが、4 MB を超えるサイズの画像を与えると、以下の例外がスローされます。

****Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
    at ForkBlur.blur(ForkBlur.java:120)
    at ForkBlur.main(ForkBlur.java:110)****

私はEclipse Helios IDEを使用しています。

サイズが 50 MB を超える大きな画像でも機能するようにしたい

4

3 に答える 3

7

私にとってはうまくいきました。

実行したいプロジェクトを右クリックします。実行 -> 実行構成 -> 引数 。

次に、VM 引数で:

-Xmx1g

于 2013-01-17T18:11:37.893 に答える
2

プログラムを実行するときは、より大きなヒープ サイズを指定する必要があります。

それがあなたの好みのツールであれば、Eclipseを介してそれを行うことができます。メイン メソッドを含むファイルを右クリックし、[Run As] オプションを選択します。これにより、コマンド ライン オプションのホストを設定できるダイアログが開きます (引数セクションを探します)。

最大ヒープ サイズを構成するコマンド ライン オプションは Xmx です。例として、最大ヒープ サイズを 2 GB に設定する Xmx 2g があります。

于 2013-01-17T18:01:43.770 に答える
2

プログラム用により多くのメモリを許可するように JVM に指示する必要があります。コマンド ラインからプログラムを実行する場合は、この-mxオプションを使用して、JVM が使用できるメモリ量を指定します。

たとえば、128MB のメモリを許可するには、次のようにします。

java -mx128M MyClass

Eclipse Helios から実行している場合は、次のようにします。

  1. プロジェクトを右クリックして、 に移動しpropertiesます。
  2. をクリックしRun/Debug Settingsます。
  3. 実行構成を選択し、クリックEditまたはクリックして、構成タイプNewを使用して作成します。Java Application
  4. Argumentsタブで、-mx128MVM 引数ボックスに入力します。
于 2013-01-17T18:05:08.883 に答える