Attualmente sto imparando i concetti di memoria di java, lo stack e l'heap, so che le variabili locali e le chiamate di metodo hanno vissuto in un posto chiamato stack. e oggetti vissuti dentro un mucchio. ma cosa succede se quella variabile locale contiene un oggetto? o ha un riferimento a un oggetto?Java Dove si trovano Variabili locali, riferimenti a oggetti, variabili di istanza
public void Something(){
Duck d = new Duck(24);
}
Vive ancora all'interno di uno stack? e dove vivono le variabili di istanza? si prega di mantenere il più semplice possibile. grazie.
allocati all'interno dell'oggetto in cui si trovano? o come da solo nell'heap? – KyelJmD
E se l'oggetto fosse creato come variabile di istanza, cadrebbe ancora sotto l'analisi di Fuga? – KyelJmD
il layout di un oggetto in memoria è il seguente: 8 byte di intestazione, quindi gli attributi. Se la variabile di istanza è un oggetto, non una primitiva, solo il puntatore viene archiviato nel blocco di memoria permanente e l'oggetto può essere assegnato altrove. – socha23