Memory Heap : 데이터를 무더기로 저장한다.(ex.배열,Map,Set,String | 참조형 데이터)
Call Stack : 순서대로 누적 저장한다.(ex.지역변수) => 처리순서 저장
JIT Compiler : JIT 컴파일러는 처음에 소스코드를 파싱하여중간언어(IR)인바이트 코드형태로 먼저 변환한다. 이 후인터프리터모드라면바이트 코드를 하나씩 읽어가며 동작을 수행하고,JIT 모드라면 생성된바이트 코드를 기반으로네이티브 코드로컴파일하여 수행하게 된다. => 하나의 함수 처럼 처리한다, inline처리 (ex. a()안에 b()가 있는 것 처럼 처리한다.)
Garbage Collection : 사용하지 않는 메모리를 해제한다. ex. c()가 끝나면 c와 지역변수는 삭제 되지만 Memory Heap에 선언한 Arrays() 사라지지 않는다(c()는 Arrays()의 주소만 가지고 있기 때문이다). 이것을 Garbage Collection이 해재해준다