값 유형이 Foo
이고 Foo
에 대한 참조를 허용하는 Bar
메서드가 있다고 가정 해보십시오. 대부분의 언어를 사용하면 스택에 새로운 Foo
을 할당 할 수있게되며 Bar
에 전달하면 자동으로 상자에 표시됩니다. 그러나 알고있는 한, Foo
값을 힙에 복사 한 다음 해당 참조를 사용합니다.가비지 수집 언어가 스택에 객체를 인라인으로 할당 할 수 있습니까?
언어에 가비지 수집 객체를 스택에 할당하는 방법을 포함 할 수 있습니까? 메소드가 끝나면 런타임은 객체가 아직 사용 중인지를 확인한 다음 힙에 객체를 할당하고 참조를 업데이트해야합니다.
이 방법은 참조를 유지하지 않는 메소드의 성능을 향상시킬 수 있으며 성능이 저하 될 수 있다고 생각합니다.
예를 들어 Java에서 사용되는 [이탈 분석] (https://en.m.wikipedia.org/wiki/Escape_analysis)에 대해 읽어보십시오. –
httftp://stackoverflow.com/questions/25903320/creating-objects-on-the-stack-memory-in-java – Raedwald