Sobes.tech
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.