Una referencia blanda es una referencia que se recolecta como basura de forma menos agresiva. La referencia blanda es una de las fortalezas o niveles de referencia "no fuerte " definidos en el lenguaje de programación Java , siendo las otras débil y fantasma . En orden de más fuerte a más débil, son: fuerte, blanda, débil, fantasma.
Las referencias blandas se comportan de manera casi idéntica a las referencias débiles. Las referencias blandas y débiles proporcionan dos cuasi-prioridades para los objetos que no tienen una referencia fuerte: el recolector de basura siempre recolectará objetos con referencias débiles, pero solo recolectará objetos con referencias suaves cuando sus algoritmos decidan que la memoria es lo suficientemente baja como para justificarlo.
Las referencias suaves se pueden utilizar, por ejemplo, para escribir un caché sensible a la memoria libre , de modo que los objetos almacenados en caché se conserven hasta que no haya suficiente espacio en el montón. En algunos casos, los objetos con referencias débiles se pueden recuperar demasiado rápido para que un caché de este tipo sea útil.
Véase también
Enlaces externos
- Artículo para desarrolladores de Java: 'Objetos de referencia y recolección de basura'
- Nicholas, Ethan (4 de mayo de 2006). "Understanding Weak References" (Comprender las referencias débiles). java.net. Archivado desde el original el 19 de agosto de 2010. Consultado el 1 de octubre de 2010 .