.csvファイルからデータを読み込んでテーブルに表示するアプリケーションがあります。アプリケーションは、すべてのファイル(ウィンドウのサイズにかかわらず)に対して正しく動作しますが、Mac上では8MB未満のファイルでのみ動作します。それより大きいファイルは「java.lang.OutOfMemoryError:Javaヒープスペース "と呼ばれる。私はそれが.csvファイルを読み込んでいることを確認するためにアプリケーションをデバッグしましたが、しばらくしてから、そのエラーでクラッシュします。MacでJava OutOfMemory、Windowsで動作する
私はいくつかの調査を行い、-Xmxと-Xmsを使用してJavaヒープサイズを増やしても、同じエラーが発生します。
次のコードは、mainHashtableに情報を配列の一部を追加した後どこアプリケーションがクラッシュです:
while(reader.readRecord()){
ArrayList<CSVEntry> list = new ArrayList<CSVEntry>();
for(int i = 0; i < colscount; i++){
CSVEntry entry = new CSVEntry(headerNames[i], reader.get(i));
list.add(entry);
}
mainHashtable.put(recordcount, list);
recordcount++;
}
私はこの問題を解決するための任意の提案は喜んで理解されるであろう。
どのようにアプリケーションを起動しますか?コマンドラインから? IDEから? – GarlicFries
私は、Javaに特定のメモリ制限が許可されている何らかの設定のもので、その制限を増やすだけでよいことは間違いないと確信しています。 – Sam
私はMacで実行するためにjarファイルを作成していますが、今はIDEからアプリケーションを起動してエラーを修正しようとしています。 –