Object.JavaFinalize Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Внимание!
Override Dispose (bool disposing) for cleanup customization, or use the C# destructor instead. Java's Object.finalize() has been deprecated since JDK 9 and is marked for removal.
Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет.
[Android.Runtime.Register("finalize", "()V", "GetJavaFinalizeHandler")]
[System.Obsolete("Override Dispose (bool disposing) for cleanup customization, or use the C# destructor instead. Java's Object.finalize() has been deprecated since JDK 9 and is marked for removal.")]
protected virtual void JavaFinalize();
[<Android.Runtime.Register("finalize", "()V", "GetJavaFinalizeHandler")>]
[<System.Obsolete("Override Dispose (bool disposing) for cleanup customization, or use the C# destructor instead. Java's Object.finalize() has been deprecated since JDK 9 and is marked for removal.")>]
abstract member JavaFinalize : unit -> unit
override this.JavaFinalize : unit -> unit
- Атрибуты
Исключения
Комментарии
Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет. Подкласс переопределяет finalize метод для удаления системных ресурсов или выполнения другой очистки.
Общий контракт finalize заключается в том, что он вызывается, если и когда Java виртуальная машина определила, что больше нет никаких средств, с помощью которых этот объект можно получить доступ к любому потоку, который еще не умер, за исключением действия, предпринятого завершением некоторых других объектов или классов, готовых к завершению. Метод finalize может предпринять любое действие, в том числе сделать этот объект доступным снова для других потоков; обычное назначение finalize, однако, заключается в выполнении действий очистки перед необратимым удалением объекта. Например, метод завершения для объекта, представляющего входное/выходное подключение, может выполнять явные транзакции ввода-вывода для разрыва соединения до окончательного удаления объекта.
finalize Метод класса Object не выполняет никаких специальных действий; он просто возвращается нормально. Подклассы Object могут переопределить это определение.
Язык программирования Java не гарантирует, какой поток вызовет finalize метод для любого заданного объекта. Однако гарантируется, что поток, вызывающий завершение, не будет содержать никаких видимых пользователем блокировок синхронизации при вызове завершения. Если неученное исключение создается методом завершения, исключение игнорируется и завершается завершение этого объекта.
finalize После вызова метода для объекта никакие дальнейшие действия не выполняются до тех пор, пока Java виртуальная машина снова не определила, что этот объект больше не может получить доступ к любому потоку, который еще не умер, включая возможные действия других объектов или классов, готовых к завершению, В какой момент объект может быть удален.
Метод finalize никогда не вызывается несколько раз Java виртуальной машиной для любого заданного объекта.
Любое исключение, возникающее методом finalize , приводит к остановке завершения этого объекта, но в противном случае игнорируется.
Java документации по java.lang.Object.finalize().
Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".