Heap ve stack nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Heap ve Stack, programlar tarafından veri saklamak için kullanılan iki bellek alanıdır.
-
Stack (yığın), yerel değişkenler, fonksiyon parametreleri ve dönüş adreslerinin saklandığı bellek alanıdır. LIFO (son gelen ilk çıkar) prensibiyle çalışır. Bir fonksiyon çağrıldığında, yığında bir blok ayrılır ve tamamlandığında serbest bırakılır. Yığın sınırlı bir boyuta sahiptir ve otomatik olarak yönetilir.
-
Heap (yığın alanı), nesnelerin ve verilerin dinamik olarak tahsis edildiği ve çalışma sırasında boyutunun değişebileceği bellek alanıdır. Java'da nesneler yığında oluşturulur ve çöp toplayıcı, kullanılmayan belleği otomatik olarak serbest bırakır.
Örnek:
public void ornek() {
int a = 10; // yığında saklanır
String s = new String("Merhaba"); // String nesnesi yığında oluşturulur
}
Burada, a yığında yerel bir değişkendir ve String nesnesi yığında bulunur.