Heap va stack nima?
sobes.tech AI
AIdan javob
Heap va Stack - bu ikki xotira maydoni bo'lib, dasturlar ma'lumotlarni saqlash uchun ishlatiladi.
-
Stack (pufak) - bu xotira maydoni bo'lib, unda lokal o'zgaruvchilar, funksiyalar parametrlari va qaytish manzillari saqlanadi. U LIFO (so'ng kirgan, birinchi chiqadi) tamoyili bilan ishlaydi. Funksiya chaqirilganda, stackda blok ajratiladi va bajarilishi tugagach, bo'shatiladi. Stack cheklangan o'lchamga ega va avtomatik boshqariladi.
-
Heap (yig'indi) - bu xotira maydoni bo'lib, unda ob'ektlar va ma'lumotlar dinamik tarzda ajratiladi va dastur davomida o'lchami o'zgarishi mumkin. Java'da ob'ektlar heapda yaratiladi, va garbage collector (axlat yig'uvchi) avtomatik ravishda foydalanilmayotgan xotirani bo'shatadi.
Misol:
public void misol() {
int a = 10; // stackda saqlanadi
String s = new String("Salom"); // String ob'ekti heapda yaratiladi
}
Bu yerda, a lokal o'zgaruvchi stackda, va String ob'ekti heapda joylashgan.