JVM(2)
-
[JVM] Runtime Data Area
Runtime Data Area란 자바 애플리케이션을 실행하면 JVM이 OS로부터 메모리 공간을 할당받고 JVM은 할당받은 메모리를 용도에 따라 여러 영역으로 나누어 관리하게 되는데, 이렇게 관리하는 전체 영역을 Runtime Data Area라고 부릅니다. 메모리 영역은 Method Area, Heap Area, Stack Area, PC register, Native Method Stack으로 나뉩니다. 위 사진에서 보이듯이 Method Area, Heap Area 영역은 모든 Thread가 공유하고 Stack Area, PC register, Native Method Stack 영역은 Thread 별로 생성됩니다. 쓰레드(Thread)와 프로세스 - 작성 예정 모든 Thread가 공유하는 Metho..
2024.04.18 -
[JVM] JVM 이란
JVM이란 JVM은 Java Vertual Machine의 약자로 ‘자바를 실행하기 위한 가상 기계’를 말합니다. JVM이 필요한 이유 JVM은 자바 애플리케이션을 운영체제와 상관없이 실행시킬 수 있도록 해주고 프로그램 메모리를 관리하고 최적화를 해줍니다. (정확하게는 Java라는 언어가 JVM으로 인해서 OS에 독립적이라는 것으로, JVM자체로는 OS마다 정의된 실행방법을 따르기 때문에 JVM 자체는 OS에 종속적입니다.) 추가로, 자바로 작성된 애플리케이션은 JVM을 통해 실행되기 때문에 반드시 JVM이 필요한데 위의 사진처럼 OS로 전달되기 전에 JVM을 거쳐 해석되고 실행되기 때문에 속도가 느리다는 단점이 있습니다. 하지만 최근에는 JIT 컴파일러의 성능 향상과 최적화 기술의 발달로 속도 저하가 ..
2024.04.18