私はJavaでRandomAccessFileを使用しています。私はメモリリークの問題があります。私は次の私のコードを単純化しています。このコードを実行(およびGCのための十分な時間を許可する)した後RandomAccessFileメモリリーク
public static void main(String[] args) throws IOException, InterruptedException
{
RandomAccessFile r = new RandomAccessFile(new File("test.dat"), "rw");
r.write(new byte[150000000], 0, 150000000);
r.getFD().sync();
r.close();
r = null;
while (true) { Thread.sleep(1000); }
}
アプリケーションのための報告されたメモリ使用量が少し150メガバイトを超えています。
私は何が欠けていますか?それともJavaが責任を負うのですか?
のJava * OSに*戻りメモリを行い、少なくともOracle JVMは非常にreluctantyいえ、ありません。 –
@マイケル、ありがとう。 –