Sobes.tech
Middle

Bellekte nesneler nerede saklanır?

sobes.tech yapay zeka

AI'dan gelen yanıt

Bellek içindeki nesneler genellikle yığında (heap) saklanır.

Heap, program çalışırken nesnelerin dinamik olarak tahsis edildiği bellek alanıdır. Heap'teki nesnelerin yaşam süresi, çöp toplayıcı (varsa) veya açık bellek serbest bırakma ile belirlenir.

Heap'ten farklı olarak, yığında (stack) temel tiplerin yerel değişkenleri, nesne referansları ve fonksiyon çağrılarıyla ilgili bilgiler saklanır. Yığının boyutu sabit veya sınırlı olup, kapsam dışına çıkıldığında veriler silinir.

Fark Heap Stack
Amaç Nesnelerin, dizilerin saklanması Temel tipler, referanslar saklanır
Tahsisat Dinamik Otomatik
Yönetim Çöp toplayıcı / açık yönetim Otomatik
Hız Daha yavaş Daha hızlı
Boyut Esnek, büyük olabilir Sabit / sınırlı

Java örneği:

// Yığında 'myObject' referansı saklanır
MyClass myObject = new MyClass(); // MyClass nesnesi heap'te saklanır

int count = 10; // 'count' değişkeni (ilkel) yığında saklanır

Python örneği:

# 'my_list' yığında, liste heap'tedir
my_list = [1, 2, 3]

# 'name' yığında (referans), string heap'tedir
name = "Alice"

age = 30 # Tamsayı, Python uygulamasına bağlı olarak yığında veya heap'te saklanabilir

Özellikle konum, programlama diline, çalışma zamanına ve mimariye bağlıdır (örneğin, escape analizi kullanılırsa, nesne referans tipi olsa bile yığında tahsis edilebilir, RUST).