我在java中使用RandomAccessFile。我有一個內存泄漏問題。我簡化了我的代碼如下: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); }
}
這段代碼執行(並允許有足夠的時間GC)應用程序的報告的內存使用後略微超過150MB。
我錯過了什麼?或者是Java責怪?
的Java *不*回報存儲到操作系統,至少在Oracle JVM呢,雖然很reluctanty。 – 2010-11-25 09:48:07