Метод Java finalize()
не является деструктором и не должен использоваться для обработки логики, от которой зависит ваше приложение. Спецификация Java заявляет, что нет гарантии, что метод finalize
вызывается вообще во время жизни приложения.
То, что вы, вероятно, хотите, это комбинация finally
и метода очистки, как в :
MyClass myObj;
try {
myObj = new MyClass();
// ...
} finally {
if (null != myObj) {
myObj.cleanup();
}
}