以下の内容はhttps://hhelibex.hatenablog.jp/entry/20091206/1260076440より取得しました。


File.createTempFile() と File.deleteOnExit() のコンボ罠の続きの続き

過去のエントリで、

というのを書いたが、別に「コンボ罠」というわけではないらしい。
以下のようなコードでもプロセスのメモリ使用量はずんずん増えていく。

import java.io.File;

public class Main1 {
    public static void main(String[] args) {
        try {
            File test = File.createTempFile("test",".txt");
            for (long i = 0; true; ++i) {
                if (i % 100 == 0) {
                    if (i % 100000 == 0) {
                        System.out.println("--- " + i + " ---");
                    }
                    Thread.sleep(10);
                }
                test.deleteOnExit();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import java.io.File;

public class Main2 {
    public static void main(String[] args) {
        try {
            for (long i = 0; true; ++i) {
                File test = new File("test.txt");
                test.createNewFile();
                if (i % 100 == 0) {
                    if (i % 100000 == 0) {
                        System.out.println("--- " + i + " ---");
                    }
                    Thread.sleep(10);
                }
                test.deleteOnExit();
                test.delete();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

だったら、あれ(何)でも再現してもよさそうなのだが‥負荷が足りないのだろうか。




以上の内容はhttps://hhelibex.hatenablog.jp/entry/20091206/1260076440より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14