今天做一个测试,测试InputStream未关闭资源是否会造成内存泄漏
一 测试程序准备
未关闭InputStream的Java程序【UrlStreamNoClose.java】:
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.nio.file.Files;
import java.nio.file.Paths;
public class UrlStreamNoClose {
public static void main(String[] args) throws Exception {
for (int i = 0; i < 10000000; i++) {
System.out.println("加载次数:" + i);
InputStream is = new URL("jar:file:/Users/bingsanfang/Desktop/jrt-fs.jar!/META-INF/MANIFEST.MF").openStream();
}
}
}
关闭InputStream的程序【UrlStreamClose.java】:
mport java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.nio.file.Files;
import java.nio.file.Paths;
public class UrlStreamClose {
public static void main(String[] args)