¿Análisis de tipos de referencia de programación Java?
Cuando usamos el lenguaje de desarrollo de programación Java para desarrollar software, generalmente usamos nuevos objetos y luego usamos referencias a objetos para lograr diferentes necesidades de programación. Hoy, aprendamos sobre el lenguaje de desarrollo de programación Java en la capacitación en informática. ¿Cuáles son los métodos de citación comunes en .
1: Referencia virtual
1.1 Introducción: La referencia virtual es la más débil de todas las referencias. Es completamente similar a ninguna referencia y se implementa en la clase java.reflact.PhantomReference. El objeto de referencia virtual en sí no tiene mucho impacto y el objeto ni siquiera siente la existencia de la referencia virtual. Si un objeto tiene una referencia virtual, tiene aproximadamente el mismo efecto que si no hubiera ninguna referencia. Una referencia virtual no puede hacer referencia a ningún objeto en el montón
Función: las referencias virtuales se utilizan principalmente para rastrear el estado. de objetos que la JVM recolecta como basura. Úselo para controlar el comportamiento de GC. Puede saber si el objeto al que hace referencia el bloqueo de referencia virtual se ha reciclado comprobando si la cola de referencia asociada con la referencia virtual ya contiene la referencia virtual especificada.
Nota: Las referencias virtuales no se pueden usar solas. Las referencias virtuales deben usarse junto con la cola de referencia (ReferenceQueue). Después de que el objeto al que hace referencia la referencia virtual se recopile como basura, la referencia virtual se agregará. la cola de referencia.
2: Referencia débil
Introducción: La referencia débil y la referencia virtual son algo similares. La diferencia es que el objeto al que hace referencia el bloqueo de referencia virtual tiene una vida útil más larga que la referencia virtual. Las referencias virtuales se implementan en la clase java.reflact.WeakReference. Cuando el sistema realiza la recolección de basura, independientemente de si la memoria del sistema es suficiente, la memoria ocupada por el objeto siempre se recicla. Sin embargo, la fuerza de las referencias débiles es mayor que la de las referencias virtuales.
3: Suave. referencias
Introducción: las referencias suaves son más fuertes que las referencias débiles y se implementan a través de java.reflact.SoftReference. Para referencias suaves, cuando el espacio de memoria del sistema es suficiente, el sistema no lo reciclará y la referencia al objeto en el programa también es válida. Cuando el espacio de memoria del sistema es insuficiente, el sistema lo reclamará.
Función: la referencia suave es una buena alternativa a la referencia fuerte. Puede evitar la excepción de memoria insuficiente del sistema hasta cierto punto y puede utilizarse por completo para resolver el problema de la escasez de memoria.
4: Referencia fuerte
Introducción: La referencia fuerte es muy común en los programas normales, creamos un nuevo objeto, como Objectobject=newObject(), luego este objeto apunta al objeto. Una fuerte referencia al objeto. La característica de las referencias fuertes es que los objetos Java a los que se hace referencia nunca serán reciclados por el mecanismo de recolección de basura. Incluso si la memoria del sistema es muy escasa, incluso si Java no se utilizará en el futuro, la JVM no recuperará los objetos Java a los que se hace referencia. por fuertes referencias.