私は、Javaにはかなり新しいですので...ここに私と一緒に入力ストリームからメモリを解放しますか?
を負担する私は(= Class.class.getResourceAsStream("fileName.csv")
である)InputStream
を読み取るためにスキャナを使用しています。ファイルが読み込まれると、メモリは約44,000で始まり、読み終わったら最大298,000になります。クラスは基本的にinputStream
を読み込んで、ArrayLists
にデータを入れて、すばやく検索することができます。問題は..ファイルが読み込まれるとメモリ使用量がどのように低下するのかわかりません。私はobject = null
を設定しようとしました、そして/またはSystem.gc()
{明らかに唯一の提案です}でもどちらも動作していません。私はScanner
とInputStream
の両方にclose()
メソッドを使用していますが、これまでに何も機能していません。誰にでもアイデアはありますか?私はそれが可能だと思います私は何を話しているのか分かりません、そして、これはどうなるのでしょうか、私は間違ったことをしています。
ありがとうございます。
もっとコードを表示できますか?あなたが読んでそれをarraylistsに保管しているのであれば、それは記憶を取るでしょう。その場合はブロック単位で読み込みます。 – excray
基本的には、約400,000人の異なる顧客のCustomerオブジェクトのArrayListを作成しています。私はメモリを使用しているファイルではないかもしれないと思っていますが、私は本当に知るほどスマートではありません。 – TJones
コードスニペットを投稿してください。 – r0ast3d