در قدیم اینجوری بود که ما متد finalize رو توی اشیا بازنویسی می‌کردیم و وقتی GC می‌خواست اون شی رو نابود کنه این متد رو صدا می‌زد و ما اگه لاجیک خواصی داشتیم اونجا می‌نوشتیم.

اما به دلیل مشکلاتی که این کار بوجود میاورد اون توی جاوا ۱۱ به بعد deprecated شده.
یکی از بزرگترین مشکلاتی که بوجود میاد این هستش که این متد توی thread مربوط به GC اجرا می‌شه و باعث بوجود اومدن مکث در thread اصلی می‌شه.

حالا باید چیکار کنیم؟

باید توی شی پدر اون شی که داره نابود می‌شه یه Cleaner بسازیم و شی مورد نظر و به همراه یک runnalbe توی اون register کنیم.

+