Auf Thema antworten

Das stimmt so nicht ganz. Lokale Variablen in Methoden liegen immer auf den Stack. In diesem Fall wären das dann die Referenzen auf die erzeugten int[]-Objekte. Ob ein Objekt auf dem Stack oder Heap abgelegt wird entscheidet erst der JIT-Compiler zur Laufzeit. (Sitchwort EscapeAnalysis)

Ob ein Objekt auf dem Stack oder Heap erzeugt wird hat in Java btw so gut wie garkeinen Performanceunterschied, da der Heap normalerweise in Bezug auf die Objekterzeugung wie ein Stack verwaltet wird. Einen Vorteil der Stackallocation gibt es nur im GC da dort ein paar Objekte weniger geprüft werden müßen.



Oben