Junior — Middle
Proqramda məlumatların saxlanması üçün yaddaş strukturu necə təşkil olunub?
sobes.tech Süni İntellekt
AI-dan cavab
iOS-da, proqramda məlumatların saxlanması üçün yaddaş strukturu adətən aşağıdakı kimi təşkil olunur:
- Yığın (Stack): yerli dəyişənləri və funksiyaların çağırışlarını saxlayır. Tez yaddaş ayırma və sərbəst buraxma.
- Yığın (Heap): funksiyanın çağırışından daha uzun müddət yaşayan obyektlər və strukturlar üçün dinamik yaddaş ayırma.
- Məlumat seqmenti: statik və qlobal dəyişənlər üçün.
- Kod seqmenti: proqramın maşın kodu üçün.
Məsələn, Swift və ya Objective-C-də sinif obyekti yaratdığınız zaman, onun üçün yaddaş yığında ayrılır və obyektə istinad yığında saxlanılır. iOS-də avtomatik yaddaş idarəetməsi ARC (Automatic Reference Counting) vasitəsilə həyata keçirilir, bu da obyektlərə olan istinadların sayını izləyir və artıq ehtiyac olmadıqda yaddaşı sərbəst buraxır.
Nümunə:
class Person {
var name: String
init(name: String) {
self.name = name
}
}
func createPerson() {
let person = Person(name: "Ivan") // obyekt yığında, istinad yığında
print(person.name)
} // funksiyadan çıxışda, istinad silinir, ARC obyektə başqa istinadlar yoxdursa, sərbəst buraxır