Помогите плиз, объясните где я туплю ?
Не могу заставить вызываться finalize():
$ cat example.java
import java.io.*;
class TTest
{
public TTest()
{
System.out.println("TTest()");
}
protected void finalize() throws Throwable
{
System.out.println("~TTest()");
File file = new File("/tmp/finalize");
file.createNewFile();
}
public void f()
{
System.out.println("TTest.f()");
}
}
class example
{
static public void main(String[] args)
throws Throwable
{
TTest a = new TTest();
a.f();
}
}
$ javac example.java
$ java example
TTest()
TTest.f()
Какого черта не вызывается finalize() ?
Думал может System уже дохлый к моменту вызова, так и файл не создается... Что не так в этом примере ???
Ответ на:
комментарий
от help_us
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум консольный ввод в Java 1 (2001)
- Форум Декораторы в Java для listener'ов (2015)
- Форум Java (2003)
- Форум java, try-resourses block demo -> unreportedException java.io.IOException (2016)
- Форум Pattern Matching на Java )) (2008)
- Форум static пример из книги (2020)
- Форум cli args in java (2008)
- Форум TCP сервер на Java, проблема (2007)
- Форум Visitor Pattern - почему так не принято его реализовать? (2012)
- Форум java (2005)