Java Profilers
Profiler و APM ابزاری هایی برای مانیتورینگ و دیباگینگ پرفورمنس برنامه ها جاوا در زمان توسعه استفاده میشه.
Profiler و APM ابزاری هایی برای مانیتورینگ و دیباگینگ پرفورمنس برنامه ها جاوا در زمان توسعه استفاده میشه.
تو این پست یکسری بدیهیات رو میگم، راجع یکسری از یکی دوتا ابزار خیلی خلاصه صحبت میکنم و سعی میکنم یه کار مسخره انجام بدم
چهار نوع رفرنس توی جاوا داریم:
GC با آزاد کردن خودکار حافظه باعث سریعتر شدن برنامه نویسی میشه و از نوشتن کدهای اضافه جلوگیری میکنه.
در قدیم اینجوری بود که ما متد finalize رو توی اشیا بازنویسی میکردیم و وقتی GC میخواست اون شی رو نابود کنه این متد رو صدا میزد و ما اگه لاجیک خواصی داشتیم اونجا مینوشتیم.
اما به دلیل مشکلاتی که این کار بوجود میاورد اون توی جاوا ۱۱ به بعد deprecated شده.
یکی از بزرگترین مشکلاتی که بوجود میاد این هستش که این متد توی thread مربوط به GC اجرا میشه و باعث بوجود اومدن مکث در thread اصلی میشه.
حالا باید چیکار کنیم؟
باید توی شی پدر اون شی که داره نابود میشه یه Cleaner بسازیم و شی مورد نظر و به همراه یک runnalbe توی اون register کنیم.