Middle+
GC თაობების (0, 1, 2) კონცეფციის არსი რა არის? რა ოპტიმიზირებთ?
sobes.tech AI
პასუხი AI-სგან
კატეგორიების კონცეფცია მტვრის შეგროვებაში (GC) ეფუძნება დაკვირვებას, რომ უმეტესობამ ობიექტებმა მეხსიერებაში მოკლე ხანს იცოცხლეს. მეხსიერება ნაწილდება კატეგორიებად:
- 0-კატეგორია (ახალი): აქ განთავსებულია ახალი ობიექტები. GC მათ ხშირად იძახის, რადგან აქ ობიექტები სწრაფად ბერდებიან.
- 1-კატეგორია (შუალედური): ობიექტები, რომლებიც გადარჩნენ 0-კატეგორიის შეგროვებას, გადადიან აქ.
- 2-კატეგორია (ძველი): ხანგრძლივი სიცოცხლის ობიექტები აქ განთავსდება. ამ კატეგორიის GC იშვიათად მუშაობს.
ოპტიმიზაცია მდგომარეობს ახალგაზრდა ობიექტების უფრო ხშირი შემოწმებაში, სადაც მეხსიერების გათავისუფლების ალბათობა მაღალია, და ხანდაზმული ობიექტების ნაკლებად შემოწმებაში, რაც ამცირებს მტვრის შეგროვების ხარჯებს და აუმჯობესებს პროგრამის შესრულებას.