Manera correcta de pensar en la asignación primitiva.
En este ejemplo,
int x = 5;
int y = x;
x = 4;
y seguirá siendo 5 porque x solo se está reasignando y no está manipulando el objeto al que se refería de ninguna manera. Mi pregunta es, ¿es lo que acabo de decir una forma correcta de pensar al respecto? O hay una duplicación de la memoria almacenada en 'x' y esa duplicación se pone en 'y'.