java.lang.ref.Reference Class es una clase base abstracta para el objeto de referencia . Esta clase contiene métodos que se utilizan para obtener información sobre los objetos de referencia. Esta clase no es una subclase directa porque las operaciones en los objetos de referencia están en estrecha cooperación con el recolector de basura .
Declaración de clase: prevenir
public abstract class Reference<T> extends Object
Métodos:
Método | Descripción |
---|---|
clear() | Este método evita que este objeto se ponga en cola al borrar este objeto de referencia. Solo el código Java puede invocar este método. El recolector de basura puede borrar referencias directamente. El recolector de elementos no utilizados no necesita invocar este método para borrar las referencias. |
poner en cola() | Este método agrega este objeto a su cola registrada. |
obtener() | Este método se utiliza para obtener el objeto al que se refiere esta referencia. Devuelve nulo si el código Java o el recolector de basura borraron el objeto en esta referencia. |
está en cola() | Este método se utiliza para saber si este objeto de referencia está registrado en alguna cola o no. |
1. vacío público clear():
Este método evita que este objeto se ponga en cola al borrar este objeto de referencia. Solo el código Java puede invocar este método. El recolector de basura puede borrar referencias directamente. El recolector de elementos no utilizados no necesita invocar este método para borrar las referencias.
2. puesta en cola booleana pública () :
Este método agrega este objeto a su cola registrada.
Devuelve: Verdadero si este objeto de referencia se agregó correctamente a la cola registrada, falso si este objeto de referencia no estaba registrado con ninguna cola en el momento de su creación.
3. público T get():
Este método se utiliza para obtener el objeto al que se refiere esta referencia. Devuelve nulo si el código Java o el recolector de basura borraron el objeto en esta referencia.
Devuelve: Objeto al que hace referencia esta referencia, nulo si se borró el objeto.
4. booleano público isEnqueued():
Este método se utiliza para saber si este objeto de referencia está registrado en alguna cola o no.
Devuelve: verdadero si este objeto de referencia se ha puesto en cola; de lo contrario, falso
Java
// Java program to illustrate working of Reference Class import java.lang.ref.Reference; import java.lang.ref.ReferenceQueue; import java.lang.ref.SoftReference; class Gfg { } public class GFG { public static void main(String[] args) { // Strong Reference Gfg g = new Gfg(); ReferenceQueue<Gfg> q = new ReferenceQueue<Gfg>(); // Creating Soft Reference to Gfg-type object to // which 'g' is also pointing and registering it // with q Reference<Gfg> softref = new SoftReference<Gfg>(g, q); g = softref.get(); System.out.println(g.toString()); // enqueue softref to its registered queue i.e q if (softref.enqueue()) { System.out.println( "Object successfully enqueued"); } else { System.out.println("Object not enqueued"); } // checking if softref is enqueued or not if (softref.isEnqueued()) { System.out.println("Object is enqueued"); } else { System.out.println("Object not enqueued"); } // clearing this reference object softref.clear(); System.out.println("Object cleared"); // trying to enqueue after clearing if (softref.enqueue()) { System.out.println( "Object successfully enqueued"); } else { System.out.println("Object not enqueued"); } } }
Gfg@214c265e Object successfully enqueued Object is enqueued Object cleared Object not enqueued
Publicación traducida automáticamente
Artículo escrito por abhinavjain194 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA