class CardBoard {
Short story = 200;
CardBoard go(CardBoard cb) {
cb = null;
return cb;
}
public static void main(String[] args) {
CardBoard c1 = new CardBoard();
CardBoard c2 = new CardBoard();
CardBoard c3 = c1.go(c2);
System.out.println("c3 value : "+c3);
c1 = null;
System.out.println("c1 value : "+c1);
System.out.println("c2 value : "+c2);
// do Stuff
}
}
Este es un ejemplo del examen simulado SCJP6. La pregunta dice: cuando se alcanza // doStuff, ¿cuántos objetos son elegibles para GC? Y la respuesta es (2 objetos) porque: solo un objeto CardBoard (c1) es elegible, pero tiene un objeto de envoltorio corto asociado que también es elegible.
Cuando ejecuto el código, parece que c3 también apunta a nulo ... por lo que habría dicho que 3 objetos son elegibles para GC.
¿Alguien puede guiarme a través de la lógica de este código?
CardBoard c1 = nueva CardBoard ();
Crea una CardBoard
instancia y su Short
instancia. (2 objetos) Asigna la CardBoard
referencia a c1
.
CardBoard c2 = nueva CardBoard ();
Crea otra CardBoard
instancia y su Short
instancia. (2 objetos más) Asigna la CardBoard
referencia a c2
.
Cartón c3 = c1.go (c2);
Asigna null
a c3
. (El go
método es un truco para ver si comprende que el argumento de Java pasa la semántica. Si cree que Java usa la transferencia por referencia, podría concluir incorrectamente que c2
se establece en null
esta llamada. De hecho, no c2
ha cambiado).
c1 = nulo;
Asigna null
a c1
. Esto hace que la primera CardBoard
instancia y su Short
instancia sean inalcanzables, y los candidatos para la recolección de basura.
La segunda CardBoard
instancia y su Short
instancia todavía son accesibles.
c3 nunca apunta a ningún objeto, siempre es una variable nula. Por lo tanto, el objeto c3 no es elegible para GC
En un proyecto Java, hay dos archivos java con método principal. Las rutas absolutas para estos dos archivos java son: C: \ Desktop \ project1 \ src \ com \ pre \ moveposition1.java y C: \ Desktop \ project1 \ src \ com \ ...
Necesito enviar un pedido de red corto para un servidor de juegos que estoy escribiendo usando Java. Leí sobre el pedido de red, pero no pude encontrar ningún detalle sobre un corto que se envía antes de los datos. Alguien podria ...
Esta pregunta es doble, pero con suerte no debería ser irrazonablemente larga de responder, a pesar de su propia extensión. Sin embargo, siéntase libre de responder solo una parte, ¡y lo siento por hacerlo tan exhaustivo! Cuales ...
He creado una GUI usando Swing of Java. Ahora tengo que configurar una imagen sample.jpeg como fondo del marco en el que he colocado mis componentes. ¿Cómo hacer eso?