Etiketler

, , ,


Stack vs Heap

1. Stack FILO kuralına göre çalışır. İlk giren son çıkar. Dolayısıyla içerdiği elamanlarbirbirleriyle ilişkilidir. Aradan bir eleman çıkartamazsınız.

2. Stack değer tipli lokal değişkenleri saklar.Fonksiyon parametreleri, değer tipli yada referans tipli olmasının farkı olmaksızın stack de saklanır. Kaldı ki, referans tipli değişkenlerin de referansları stack de , kendileri ise heap de saklanır. Stack de, heap deki yerinin adresi tutulur. (işaretçi (pointer) misali)

3. Stack deki değerler program sonlandığında yada kod bloğu bittiğinde yokedilir.

4. Heap deki veriler new anahtar sözğüyle oluşturulur.

5. Heap deki veriler Garbage Collector tarafından temizlenir.

6. Stack referans ve heap instance saklar.

7. Heap de saklanan değerlere rastgele ulaşabilirsiniz.

8. Heap de bir değişken diğerine atanırken o değişken tekrar yaratılmaz, sadece referans adresi Heap deki alanı gösterir.