[JAVA] JVM, 자바 버츄얼 머신?

무지성개발자·2023년 7월 29일
post-thumbnail

자바의 모토에 Write Once, Run AnyWhere라는게 있다. 때문에 자바는 어떤 OS에서도 돌아 간다. JVM이 그 역할을 하는데, 자바가 compile을 하면 바이너리 코드가 아닌 바이트 코드로 바뀌는게 이러한 이유다.


JVM

JVM은 자바를 돌릴 수 있는 가상 머신으로, 자바를 컴파일한 바이트코드를 실행하는 역할을 한다. JVM은 OS위에 위치 한다.


JVM의 구조와 동작과정

JVM은 위와 같이 구성되어 있다.

  • Class Loader : 컴파일된 바이트 코드를 Runtime Data Area로 로딩.

  • Runtime Data Area : JVM의 메모리로 Methode, Heap, Stack, PC Register, Native Method Stack으로 나뉜다.

  • Excution Engine : Runtime Data Area에 올라온 바이트 코드를 명령어 단위로 하나씩 실행 시키는 역할을 한다.


한 줄평 : JVM이 없는 언어들은... OS별로 코드 작성하는게 다른가??

참고 -
https://www.youtube.com/watch?v=AWXPnMDZ9I0&ab_channel=%EC%9D%B4%EC%A0%95%EB%A1%9D

profile
no-intelli 개발자 입니다. 그래도 intellij는 씁니다.

0개의 댓글