Java - Paso por valor y referencia

 
Vista:
sin imagen de perfil
Val: 3
Ha aumentado su posición en 6 puestos en Java (en relación al último mes)
Gráfica de Java

Paso por valor y referencia

Publicado por leonardo (6 intervenciones) el 12/05/2020 14:17:46
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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Paso por valor y referencia

Publicado por Tom (1831 intervenciones) el 12/05/2020 18:38:37
i1, i2, son simplemente nombres para referenciar posiciones en el stack (memoria al fin y al cabo).
Cuando haces i1 = 5, en la posición 1 del stack (muy grosso modo) se guarda un 5.
Si ahora haces i1 = 10, en la posición 1 del stack se guarda un 10.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar