카테고리 없음

JVM이란 (내용 더 추가하깅)

happyst 2024. 8. 14. 17:46

JVM
- Java Virtual Machine
- Java bytecode가 플랫폼에 독립적으로 실행될 수 있게 지원하는 가상머신
- JVM은 플랫폼에 종속적, Java는 JVM 덕분에 플랫폼에 독립적
- JVM의 메모리 공간(Runtime Data Area)는 크게 3가지 영역 - Method(Static) 영역, Stack 영역, Heap 영역으로 구분됨

stack
- main() method안의 내용을 실행 후 return (LIFO)
- 변수, 참조값, ... 가 저장됨

heap
- 객체를 저장하는 공간
- 자동으로 메모리 관리가 되지 않기 때문에 GC가 일어남


왜 Java는 register 대신에 stack을 쓸까?
- Java의 원래 목적은 하드웨어에 종속되지 않고 어디에서든지 실행될 수 있는 언어를 만드는 것
- 하드웨어마다 레지스터 수가 다르므로, stack을 사용하면 계산은 좀 더 복잡해지더라도 하드웨어에 대한 의존성을 최대한 낮출 수 있음


=================================
참고)
https://inpa.tistory.com/entry/JAVA-%E2%98%95-%EA%B7%B8%EB%A6%BC%EC%9C%BC%EB%A1%9C-%EB%B3%B4%EB%8A%94-%EC%9E%90%EB%B0%94-%EC%BD%94%EB%93%9C%EC%9D%98-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EC%98%81%EC%97%AD%EC%8A%A4%ED%83%9D-%ED%9E%99

 

☕ 그림으로 보는 자바 코드의 메모리 영역(스택 & 힙)

자바의 메모리 영역 이번 포스팅에선 자바(JAVA)를 사용하는 입장에서 알아야 할 메모리 구조 및 특징에 대해서 알아보려고 한다. 자바 프로그램이 실행되면 JVM(자바 가상 머신)은 OS로부터 메모

inpa.tistory.com


https://www.youtube.com/watch?v=UzaGOXKVhwU