Sobes.tech
Junior

რა არის ნაგვის შეგროვებელი (Garbage Collector)?

sobes.tech AI

პასუხი AI-სგან

ავტომატური მეხსიერების მართვის მექანიზმი, რომელიც გამოუყენებელ ობიექტებს თავისუფლდებს ხისგან.

მუშაობის პრინციპები:

  • ობიექტების ხელმისაწვდომობის განსაზღვრა: აკვირდება ცოცხალ (ხელმისაწვდომ) ობიექტებს, რომლებიც მითითებულია ძირებიდან (მაგალითად, ნაკადის სტეკიდან).
  • მოუსწრაფებელი ობიექტების გათავისუფლება: ობიექტები, რომლებსაც არ აქვთ მითითებები, ითვლება "მტვერს" და მათი მეხსიერება შეიძლება ხელახლა გამოყენებულ იქნას.

მოწმენდების ტიპები (ენა/პლატფორმაზე დამოკიდებული):

  • Mark and Sweep: აღნიშნავს ხელმისაწვდომ ობიექტებს (ნიშნავს), შემდეგ გადის ხის მეშვეობით და თავისუფლდებს არასანიშნულებს (სუფთავება). შეიძლება გამოიწვიოს მეხსიერების ფრაგმენტაცია.
  • Copying: ხის ორ ნაწილად ყოფს. ცოცხალ ობიექტებს კოპირებს ახალ ნაწილში, შემდეგ წმენდს ძველს. თავიდან ავიცილებს ფრაგმენტაციას, მაგრამ მოითხოვს მეტ მეხსიერებას.
  • პროგრესი: ობიექტებს ასაკის მიხედვით ნაწილებს. უფრო ხშირად აგროვებს მტვერს "ახალ" თაობაში, სადაც უმეტესობა ობიექტი მოკლე ხანში ცხოვრობს.

უპირატესობები:

  • ამცირებს მეხსიერების გაჟონვის ალბათობას.
  • ამარტივებს განვითარებას (არ არის საჭირო მეხსიერების გამიჯვნა ხელით).

მკაცრებები:

  • შეიძლება გამოიწვიოს დაგვიანებები (პაუზები) შეგროვების დროს.
  • შეგროვების დრო წინასწარ არ არის პროგნოზირებადი.