[JAVA] 자바의 동작원리

impala·2022년 12월 27일
0

JAVA

목록 보기
1/6
post-thumbnail

JAVA

Write Once, Run Anywhere

JAVA 이전 C/C++은 플랫폼에 종속되어있기 때문에 윈도우에서 작성한 코드는 맥에서는 작동할수 없었고, 이를 해결하기 위해서는 Cross Compile이라는 방법을 통해서 다른 플랫폼에서 동작하는 코드를 작성해야 했다. 하지만 JAVA는 이 플랫폼 종속성을 해결하기 위해 JVM(Java Virtual Machine)을 도입하여 어떤 플랫폼에서도 JVM만 설치가 되어 있으면 자바 프로그램이 동작할 수 있도록 구현하였다.


프로그램 실행 구조

기본적으로 프로그램은 아래와 같은 구조로 운영체제 위에서 실행이 되기 때문에 하드웨어나 운영체제에 종속적일 수 밖에 없다.

하지만 JAVA는 운영체제와 프로그램 사이에 JVM이라는 가상머신을 두어 플랫폼 종속성을 해소하였다.

즉, JVM은 운영체제와 프로그램을 indirect하게 연결해 주기 때문에 프로그램이 플랫폼으로부터 자유로워질 수 있도록 도와주었다.


자바 프로그램 작동 방식

java로 작성된 소스코드(.java)는 컴파일러(javac)에 의해 JVM이 이해할 수 있는 클래스파일(.class)로 번역되고 JVM에 의해 실행된다.
java program execution

자바 클래스파일은 JVM이 이해할 수 있는 명령어의 집합인 Byte Code로 작성되어 있으며 각 클래스마다 하나씩 생성되어 그 클래스에 대한 정보를 가지고 있다.
JVM은 프로그램을 실행하면서 이 클래스파일을 불러와 Byte Code를 읽고, 그에 맞는 작업을 수행한다.

  • JVM에 대한 자세한 내용은 JVM의 구조에 정리하였다.


참고자료

  • 난 정말 JAVA를 공부한 적이 없다구요 - 윤성우 저

0개의 댓글