Это часть кода. Метод finalize() должен вызываться после команды System.gc(), но это не так. Какие-либо предложения?
class test123{
test123(){
System.out.println("Inside the constructor");
}
}
public class finalizemerthd {
public static void main(String args[]) {
test123 obj1 = new test123();
obj1 = null;
System.gc();
}
protected void finalize() throws Throwable
{
System.out.println("Garbage collector called");
System.out.println("Object garbage collected : " + this);
}
}
finalize
в классеfinalizemerthd
. Но у вас нет экземпляра этого класса, который нужно очистить. Вместо этого вы должны добавить его в свой классtest123
. Прочтите документацию по методам, проведите небольшое исследование. Также обратите внимание, чтоSystem.gc()
запрашивает только запуск GC. Это может и будет задерживать или даже игнорировать бег. - person Zabuzard   schedule 24.06.2018finalize
устарел, начиная с Java 9 (см. документация). - person Zabuzard   schedule 24.06.2018@Override
для методаfinalize()
в следующий раз, потому что я действительно запутался! - person Yahya   schedule 24.06.2018