پیشنهاد OpenJDK می گوید که نسل Z Garbage Collector سربار CPU جمع آوری زباله را کاهش می دهد، سربار حافظه heap را کاهش می دهد و خطر توقف تخصیص را کاهش می دهد.
یک پیشنهاد شناور در جامعه جاوا عملکرد برنامه را با گسترش ZGC (Z Garbage Collector) برای حفظ نسلهای جداگانه برای اشیاء جوان و قدیمی بهبود میبخشد. به گفته توسعه دهندگان جاوا، این به ZGC اجازه می دهد تا اشیاء جوان را که تمایل به جوانی دارند جمع آوری کند.
اهداف خاص OpenJDK پیشنهاد بهبود جاوا (JEP) برای نسل ZGC شامل خطرات پایینتر ناشی از توقف تخصیص است. ، سربار حافظه Heap مورد نیاز را کاهش دهید و سربار CPU جمع آوری زباله را کاهش دهید. در این پیشنهاد آمده است که این مزایا باید بدون کاهش قابل توجه توان عملیاتی در مقایسه با ZGC غیر نسلی باشد.
طراحی شده برای مقیاسپذیری و تأخیر کم، ZGC بهعنوان نسخه تولیدی از Java Development Kit (JDK) 15 در سپتامبر ۲۰۲۰ در دسترس بوده است. با ZGC، بیشتر کارها با رشتههای برنامه در حال اجرا انجام میشود. زمان مکث برای ZGC به طور مداوم در میکروثانیه اندازهگیری میشود، در حالی که زمانهای مکث برای کلکتور پیشفرض G1 از میلیثانیه تا ثانیه متغیر است. بنابراین، برای بسیاری از بارهای کاری، ZGC می تواند مشکلات تأخیر مربوط به جمع آوری زباله را حل کند، پیشنهاد می گوید.
ZGC زمانی که منابع کافی وجود داشته باشد به خوبی کار می کند. اما از آنجایی که ZGC بدون در نظر گرفتن سن، تمام اشیاء را با هم ذخیره می کند، هر بار که اجرا می شود باید همه اشیاء را جمع آوری کند. زیرا اشیاء جوان تمایل دارند جوان بمیرند، در حالی که اشیاء مسن تر تمایل دارند در اطراف بمانند (براساس فرضیه نسل ضعیف)، جمع آوری اشیاء جوان به منابع کمتری نیاز دارد و حافظه بیشتری تولید می کند، در حالی که جمع آوری اشیاء قدیمی منابع بیشتری مصرف می کند و حافظه کمتری به همراه دارد.
ZGC نسلی در حال حاضر برای هیچ نسخه خاصی از جاوا استاندارد تعیین نشده است. نسخه کنونی، JDK 20، یک هفته پیش ارائه شد، در حالی که نسخه بعدی، JDK 21، در سپتامبر است. جاوا استاندارد در سرعت انتشار شش ماهه است.
پست های مرتبط
جمع آوری زباله نسلی نوید افزایش عملکرد جاوا را می دهد
جمع آوری زباله نسلی نوید افزایش عملکرد جاوا را می دهد
جمع آوری زباله نسلی نوید افزایش عملکرد جاوا را می دهد