JavaRush /Kurslar /All lectures for UZ purposes /Java'da axlat yig'uvchi tanlash

Java'da axlat yig'uvchi tanlash

All lectures for UZ purposes
Daraja, Dars
Mavjud

7.1* Axlat yig'uvchini to'g'ri tanlash

Agar dasturingizda kechikish vaqtiga qat'iy talablar bo'lmasa, shunchaki dasturni ishga tushirib, JVM ning o'zi to'g'ri yig'uvchini tanlashiga ruxsat bering.

Ko'pincha oddiy sozlamalar juda yaxshi ishlaydi. Zarurat tug'ilsa, unumdorlikni oshirish uchun halqa o'lchamini sozlash mumkin. Agar unumdorlik hali ham kutilganidan past bo'lsa, dasturingiz talablariga qarab yig'uvchini almashtirib ko'ring.

  • Ketma-ket. Agar ilovada kichik ma'lumotlar to'plami (taxminan 100 MB gacha) bo'lsa va/yoki u bir protsessorda kechikish talablari holda ishlashi kerak bo'lsa.
  • Parallel. Agar ilovaning yuqori unumdorligi ustun bo'lsa va kechikish talablari yo'q (yoki bir soniya va undan ko'p to'xtashlar maqbul).
  • CMS/G1. Agar javob vaqtini maksimal tezlikdan ko'ra muhimroq bo'lsa va axlat yig'ish paytida to'xtashlar bir soniyadan qisqa bo'lishi kerak bo'lsa.
  • ZGC. Agar javob vaqtiga yuqori e'tibor berilsa va/yoki juda katta halqa ishlatilsa.

7.2* Axlat yig'ish bo'yicha tavsiyalar

Qo'lda triggerlardan qoching

Java'dagi axlat yig'ish jarayoni haqida eng muhim narsalardan biri - bu noaniqlik. Ya'ni, qachon sodir bo'lishini oldindan bilish mumkin emas.

System.gc() yoki Runtime.gc() metodlari yordamida axlat yig'uvchi ishga tushiruvchi signalni kodga qo'shish mumkin, ammo bu ularning albatta ishga tushishini kafolatlamaydi.

Tahlil uchun vositalardan foydalaning

Agar dasturni ishga tushirish uchun yetarli xotira bo'lmasa, sekinlashuvlar, uzoq vaqt davom etadigan axlat yig'ish jarayonlari, "dunyo to'xtashi" voqealari va oxir-oqibat xotira yetishmovchiligi xatolari bilan duch kelishingiz mumkin. Bu halqa juda kichik ekanligini ko'rsatishi mumkin, ammo bu dasturda xotira sızıntısı borligini ham anglatishi mumkin.

Jstat yoki Java Flight Recorder kabi monitoring vositasidan foydalanish orqali axlatni ko'rish imkoniyatini oshiring. Axlatdan foydalanish cheksiz o'sib borayotganligini ko'rishingiz mumkin, bu esa koddagi xatoni ko'rsatishi mumkin.

Oddiy sozlamalarni afzal ko'ring

Agar sizda kichik avtonom Java-dastur bo'lsa, sizga yig'ishni sozlashning hojati yo'q. Oddiy sozlamalar sizga yaxshi xizmat qiladi.

JVM flaglari yordamida sozlang

Java'da axlat yig'ishni sozlashning eng yaxshi usuli - JVM flaglarini o'rnatishdir. Flaglar yordamida axlat yig'uvchini (masalan, Serial, G1 va hokazo), halqaning boshlang'ich va maksimal o'lchamini, halqa bo'limlarining o'lchamini (masalan, Yoshlar avlodi, Katta avlod) va boshqalarni belgilashingiz mumkin.

To'g'ri yig'uvchini tanlang

Sozlashning dastlabki nuqtalari belgilanishi kerak bo'lgan dastur turidir. Masalan, parallel axlat yig'uvchi samarali, lekin ko'pincha "dunyo to'xtashi" voqealarini chaqiradi, bu esa uzoq to'xtashlarga ruxsat berilgan ichki ishlov uchun ko'proq mos keladi.

Shu bilan birga, CMS axlat yig'uvchi kechikishni minimal darajada saqlash uchun mo'ljallangan bo'lib, tezkorlik muhim bo'lgan veb-dasturlar uchun ideal hisoblanadi.

Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION