memostack
article thumbnail
JVM과 JVM 아키텍처 (Class Loader, Runtime Data Area, Execution Engine)
Language/JAVA 2021. 3. 7. 00:51

JVM Java Virtual Machine의 약자. Java 프로그램이 플랫폼에 의존하지 않고, 어디서든 동작 가능하도록 하기 위한 Java 가상 머신이다. 단, Java 프로그램은 JVM 위에서 동작하기 때문에, JVM에 의존성을 가짐 C/C++ 언어는 CPU 아키텍처, 운영체제 등 플랫폼 환경에 의존성을 가지기 때문에, 플랫폼이 바뀌면 제대로 동작하지 않는 문제가 있음 (크로스 컴파일을 통해, 타겟 플랫폼에 맞춰서 컴파일을 해줘야 함) Java의 경우 이러한 문제를 해결하기 위해 JVM을 만들었음 JVM 아키텍처 JVM은 아래와 같이 크게 Class Loader, Runtime Data Area(JVM 메모리), Execution Engine 으로 나눠짐 Class Loader Java 바이트 코드..