Heap və stack nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Heap və Stack proqramlar tərəfindən məlumatların saxlanması üçün istifadə olunan iki yaddaş sahəsidir.
-
Stack (yığım) yerli dəyişənlər, funksiyaların parametrləri və dönüş ünvanlarının saxlandığı yaddaş sahəsidir. LIFO (son daxil olan, ilk çıxar) prinsipinə əsaslanır. Funksiya çağırıldıqda, yığımda blok ayrılır və tamamlandıqda sərbəst buraxılır. Yığımın ölçüsü məhduddur və avtomatik idarə olunur.
-
Heap (yığım sahəsi) obyektlərin və məlumatların dinamik olaraq ayrıldığı və proqramın icrası zamanı ölçüsünün dəyişə biləcəyi yaddaş sahəsidir. Java-da obyektlər yığımda yaradılır və çöp toplayıcı istifadə olunmayan yaddaşı avtomatik azad edir.
Nümunə:
public void nümunə() {
int a = 10; // yığımda saxlanılır
String s = new String("Salam"); // String obyekti yığımda yaradılır
}
Burada, a yerli dəyişəndir və yığımda yerləşir, və String obyekti yığımda yerləşir.