¿Qué es el recuento de referencias?
El recuento de referencias es una técnica de programación de computadora que se utiliza para simplificar la administración de la memoria, lo que permite que la computadora sepa al instante cuándo es "seguro" liberar un valor particular o un bloque de valores de la memoria. Cuando se programa, la economía es crucial para que los programas se puedan ejecutar en la gama más amplia posible de hardware de computadora. La memoria de acceso aleatorio (RAM) es un recurso importante pero finito para una computadora. Mantener los datos del programa almacenados en la RAM es una de las formas más rápidas de mejorar el tiempo de respuesta de un programa, pero el consumo de demasiada RAM del sistema hace que el programa sea un gran recurso, un rasgo indeseable desde el punto de vista del usuario final. El recuento de referencias actúa para equilibrar esto manteniendo los datos en la RAM todo el tiempo que el programa lo necesite.
La técnica de conteo de referencias funciona al realizar un seguimiento del número y el nombre de los objetos que utiliza el programa. Piense en la memoria de la computadora como la habitación de un niño llena de juguetes y el espacio de almacenamiento en el disco duro como un cofre de juguetes en la habitación. El recuento de referencias realiza un seguimiento de los "juguetes" (objetos) específicos con los que el programa (niño) está jugando en cualquier momento; en otras palabras, la cantidad de objetos que están actualmente en el "piso". Tan pronto como el programa deja de jugar con un objeto específico, el conteo de referencias toma nota de esto, y envía el objeto nuevamente al almacenamiento en el disco duro, en lugar de permitir que continúe consumiendo espacio en la RAM.
Cuando se trata de beneficios, la ventaja principal del recuento de referencias proviene de la inmediatez. En el instante en que el programa termina con un objeto, lo guarda, liberando espacio para otros objetos en el programa y para otros programas en la computadora. Desde el punto de vista del usuario final, este es un enfoque muy limpio; El programa nunca ocupa más memoria de la que necesita en un momento específico.
La desventaja de esta técnica es la economía. Para que el conteo de referencias funcione de manera efectiva, debe utilizar un dispositivo de monitoreo perpetuo para administrar la cantidad de objetos que se utilizan en cualquier momento. Esto consume una pequeña porción de memoria y capacidad de CPU, aumentando la sobrecarga del procesador del programa. El resultado es que la decisión de utilizar el recuento de referencia se convierte en un acto de equilibrio, determinando si el programador desea asignar tensión adicional a la CPU o la RAM.