Verwechselt mit Java Memory Management (Stacks und Heaps)

Das klingt vielleicht dumm, aber ich bin mir immer noch nicht sicher, was den Java-Stack und den Speicherhaufen angeht. Was ich aus dem Studium weiß, ist folgendes:

1) Alle Methodenaufrufe werden gestapelt.

2) Der gesamte lokal zugewiesene Speicher wird auf dem Speicherhaufen abgelegt (diesbezüglich nicht ganz klar).

3) Der gesamte vom neuen Operator zugewiesene Speicher (entweder in einer Methode oder in einer Klasse) wird in den Speicherheap verschoben.

Ich mache mir Sorgen um die folgenden Fälle:

1) Wenn ich eine int-Variable in einer Methode erstelle und zurückgebe, wohin geht sie (ich glaube, sie wird gestapelt, muss aber geklärt werden).

2) Wenn ich ein neues Objekt in einer Methode erstelle, wird es im Heap-Speicher abgelegt, da es auch nach Beendigung der Methodenausführung noch vorhanden ist externe Referenzvariable oder ich gebe dieses Objekt zurück).

3) Mein Problem ist, was passiert, wenn ich das in Punkt 2 genannte Objekt keiner Referenz zuordne oder diese nicht zurückschicke. Wird es immer noch auf dem Haufen erstellt? Logischerweise sollte es mir aber bitte aufklären.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage