Referans sayımı, bellek yönetimini kolaylaştırmak için kullanılan ve bilgisayarın bellekten belirli bir değeri veya değer bloğunu serbest bırakmanın "güvenli" olduğunu anında bilmesini sağlayan bir bilgisayar programlama tekniğidir. Programlama yaparken ekonomi çok önemlidir, böylece programlar mümkün olan en geniş bilgisayar donanımı aralığında çalıştırılabilir. Rasgele Erişim Belleği (RAM) bir bilgisayar için önemli ancak sınırlı bir kaynaktır. Program verilerinin RAM'da saklanması, programın yanıt süresini iyileştirmenin en hızlı yollarından biridir, ancak çok fazla sistem RAM'i tüketmek, programı son kullanıcının bakış açısından istenmeyen bir özellik haline getirir. Referans sayımı, verileri programda ihtiyaç duyulduğu sürece RAM’de tutarak dengelemeye yarar.
Referans sayma tekniği, programın kullandığı nesnelerin sayısını ve adlarını takip ederek çalışır. Bilgisayar hafızasını oyuncaklarla dolu bir çocuk odası gibi düşünün ve sabit sürücüdeki depolama alanını odadaki bir oyuncak sandığı gibi düşünün. Referans sayımı, programın (çocuğun) herhangi bir zamanda oynadığı belirli "oyuncakları" (nesneleri) takip eder; Başka bir deyişle, şu anda "katta" olan nesnelerin sayısı. Program belirli bir nesneyle oynamayı bırakır bırakmaz, referans sayımı bunu not eder ve nesneyi RAM'de yer kapmaya devam etmesine izin vermek yerine, sabit sürücüdeki depoya geri gönderir.
Avantajlar söz konusu olduğunda, referans saymanın birincil avantajı acil olmaktan gelir. Program bir nesneyle bittiğinde, programdaki diğer nesneler için ve bilgisayardaki diğer programlar için alan serbest bırakarak onu uzaklaştırır. Son kullanıcı bakış açısına göre bu çok temiz bir yaklaşım; Program hiçbir zaman belirli bir zamanda gerekenden daha fazla bellek kullanmaz.
Bu tekniğin dezavantajı ekonomidir. Referans saymanın etkili bir şekilde çalışması için, herhangi bir zamanda kullanılan nesne sayısını yönetmek için kalıcı bir izleme cihazı kullanması gerekir. Bu işlem, programın işlem yükünü arttırarak hafızanın küçük bir kısmını ve CPU kapasitesini tüketir. Sonuç, referans sayımını kullanma kararının, programcının CPU ya da RAM'e ek stres vermek isteyip istemediğini belirleyen dengeleyici bir hareket haline gelmesidir.


