Übler JDK Bug File.deleteOnExit()

Thomas Darimont

Erfahrenes Mitglied
Hallo!

Folgendes Codefragment:
Code:
   /**
    * 
    */
   package de.tutorials;
   
   import java.io.File;
   
   /**
    * @author Tom
    *
    */
   public class JDKBugExample {
   	/**
   	 * @param args
   	 */
   	public static void main(String[] args) {
   		File file = new File("c:/Foo.txt");
   		while(true){
   			file.deleteOnExit();
   		}
   	}
   }
laesst den Speicherverbrauch in Sekundenschnelle auf mehrere GB anschwellen, der Java Heap Speicherverbrauch bleibt dabei bei unter 15 MB
Das Speicherleck existiert innerhalb der nativen Methoden die sich die beim stoppen der JVM zu löschenden Dateien merken.
http://bugs.sun.com/bugdatabase/view_bug.do;:YfiG?bug_id=4513817

Also Vorsicht bei der übermäßigen Verwendung von deleteOnExit() !

Gruß Tom
 
Zurück