Sobes.tech
Junior — Middle

Çöp toplayıcıda büyük ve küçük nesneler için alanlara bölünmüş yönetilen belleklerin nedeni nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

C# (CLR) içindeki çöp toplayıcıda, performansı ve bellek yönetimini optimize etmek için bellek küçük ve büyük nesneler için alanlara bölünür. Küçük nesneler (Small Object Heap, SOH) genellikle hızlıca tahsis edilir ve serbest bırakılır, bu nedenle sık sık çöp toplamaya tabi tutulan yığında (jenerasyonlar 0, 1, 2) yer alırlar. Büyük nesneler (Large Object Heap, LOH) 85.000 bayt’dan büyük nesnelerdir ve bunlar, boyutları nedeniyle sık sık kopyalama ve hareketten kaçınmak için ayrı tahsis edilir. Bölme şu avantajları sağlar:

  • Büyük nesnelerin yönetim maliyetlerini azaltmak.
  • Bellek parçalanmasını azaltmak.
  • Çöp toplamayı daha verimli hale getirmek, çünkü LOH daha az sıklıkta toplanır.

Bu nedenle, büyük ve küçük nesneler için bellek alanlarına bölmek, çöp toplayıcının çalışmasını optimize etmeye ve uygulama performansını artırmaya yardımcı olur.