我在 java 中使用 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?