Buenos días: Un tema que nunca he podido comrender es el tema paso por valor y referencia. En cuanto a referencia puedo entender que con objetos las variables apuntan al objeto instanciado al Heap. Sin embargo, cuando veo el siguiente ejercicio:
public class MiPrueba {
public static void main(String[] args) {
int i1=5; int i2=6;
i1=i2;
System.out.println(i1);
}
}
Se suponen que los tipos de datos primitivos apuntan por valor. Pero cuando apunto la variable i1=i2 no estoy haciendo una referecia a i2 dentro del stack? Que pasa con el valor de i1 original? El recolector de basura tambien entra a limpiar en el stack asi como lo hace en la Heap? Disculpen si tengo vacios conceptuales pero quiero entender. Agradezco la explicación. Buen día.
Buenos días: Un tema que nunca he podido comrender es el tema paso por valor y referencia. En cuanto a referencia puedo entender que con objetos las variables apuntan al objeto instanciado al Heap. Sin embargo, cuando veo el siguiente ejercicio:
public class MiPrueba {
public static void main(String[] args) {
int i1=5;
int i2=6;
i1=i2;
System.out.println(i1);
}
}
Se suponen que los tipos de datos primitivos apuntan por valor. Pero cuando apunto la variable i1=i2 no estoy haciendo una referecia a i2 dentro del stack? Que pasa con el valor de i1 original? El recolector de basura tambien entra a limpiar en el stack asi como lo hace en la Heap? Disculpen si tengo vacios conceptuales pero quiero entender. Agradezco la explicación. Buen día.