0

サイズが 100MB の Excel ファイル (xlsx 形式) からデータを読み込もうとしています。Excel データの読み取り中に、outOfMemoryException に直面しています。JVM ヒープ サイズを 1024MB に増やしてみましたが、まだ使用できず、それ以上サイズを増やすことはできません。ガベージコレクションも実行してみましたが、役に立ちません。私の問題を解決するために、これについて誰か助けてもらえますか。

Pavan Kumar OV S に感謝します。

4

1 に答える 1

0

デフォルトでは、JVM は現在のプロセスが使用できるメモリの量に上限を設けて、ランナウェイ プロセスがシステム リソースをむさぼり食い、マシンを停止させないようにします。大きなスプレッドシートを読み書きする場合、JVM は、デフォルトで JVM に割り当てられているよりも多くのメモリを必要とする場合があります。これは通常、java.lang.OutOfMemoryError として現れます。

コマンド ライン プロセスの場合、-Xms および -Xmx オプションを使用して、JVM により多くのメモリを割り当てることができます。10 MB の初期ヒープ割り当てを割り当てるには、上限として 100 MB を使用できます。

java -Xms10m -Xmx100m -classpath jxl.jar spreadsheet.xls

詳細については、 http://www.andykhan.com/jexcelapi/tutorial.html#introductionを参照してください。

于 2011-03-02T20:32:14.290 に答える