Middle+
Dart dilində tullantıların toplanması mexanizminin xüsusiyyətləri nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Dart-da zib yığma toplayıcısı Nəsilli Zibil Toplama algoritminə əsaslanır.
Xüsusiyyətlər:
- Nəsilli: Ob'ektlər "yeni" (yeni sahə) və "köhnə" (köhnə sahə) olaraq bölünür. Əksər ob'ektlər uzunömürlü olmur, ona görə də "yeni" ob'ektlərin toplanması daha tez və daha çox baş verir.
- İki barmaq algoritmi: "Yeniləri" toplamaq üçün istifadə olunur. İki göstərici canlı ob'ektlərin qrafında hərəkət edir və canlı ob'ektləri "köhnə" nəsilinə köçürür.
- İşarə-Temizləmə: "Köhnə" ob'ektləri toplamaq üçün tətbiq olunur. Əvvəlcə canlı ob'ektlər işarələnir, sonra isə işarələnməyənlər silinir.
- Durdur-Dünya: Zibil toplanması proqramın icrasını dayandırır. Ancaq, Nəsilli yanaşma bu fasilələrin müddətini qısaltmaq üçün "yeni" nəsil üçün tez və tez toplanma təmin edir.
- Kompaktlaşdırma (Old Space): İşarə-Temizləmə mərhələsindən sonra, toplayıcı "köhnə" nəsli kompaktlaşdıra bilər, yaddaşın parçalanmasını azaldır.
- Destruktorlar yoxdur: Dart-da ənənəvi mənada destruktorlar yoxdur. Resurslar avtomatik olaraq zibil toplayıcı tərəfindən azad edilir.
Dart-da Nəsilli GC-nin əsas üstünlüyü, çoxlu təyin olunmuş obyektlərin tezliklə əlçatmaz hala gəlməsi halına optimallaşdırma sayəsində yüksək performansdır.