TGViewer
Java Interview Review Java Interview Review @javasobes · 6.56K subscribers
Post #384 13K
finalize

Метод придуман для минимизации риска утечки внешних ресурсов. Может быть вызван виртуальной машиной при сборке мусора (добавляя при этом для нее избыточную нагрузку). Это не то же самое, что деструктор в C++.

Есть только гарантии, что метод не будет вызван пока есть ссылки на объект, и что не будет вызван больше одного раза. Даже то, что вызов будет вообще – не факт. Исполнять будет неизвестно какой, но не синхронизированный поток. Исключения проигнорируются.

С давних пор использовать финализаторы не рекомендуется (Effective Java Item 7), а с Java 9 этот метод помечен как deprecated. Вместо финализатора всегда стоит воспользоваться try/finally, try-with-resource или более специализированными классами пакета java.lang.ref.

#МетодыObject
More from @javasobes
  1. Sep 17, 2022Что такое synchronized? Можно применять как модификатор метода, и как самостоятельный опер…
  2. Sep 14, 2022​Чем отличаются checked и unchecked исключения? Вопрос формулируют по-разному, суть вопрос…
  3. Sep 13, 2022Какие бывают модификаторы? 🔘 Модификаторы доступа private, protected, public (рассмотрим…
  4. Sep 8, 2022Какие существуют литералы? Литерал – последовательность символов, обозначающая значение пр…
  5. Sep 6, 2022Чем отличается final finally finalize? (2/2) finally – часть языковой конструкции try-catc…
  6. Sep 2, 2022Чем отличается final finally finalize? (1/2) Тем, что это даже синтаксически разные вещи.…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →