상세 컨텐츠

본문 제목

[ Java ] 자바 프로그램의 실행 원리

Language/Java

by bing_su 2021. 1. 31. 17:49

본문

반응형
SMALL

자바 프로그램의 작성 및 실행을 완료했다. 따라서 작성한 프로그램이 어떤 과정을 거쳐서 실행이 되었는지 구조적인 부분을 설명해 보려고 한다. 

[ 자바 프로그램의 실행 구조와 자바 가상머신 ]

 

일반적인 프로그램의 실행 구조

일반적인 프로그램은 운영체제 위에서 프로그램이 실행된다. 하드웨어를 기반으로 운영체제가 동작하고, 해당 운영체제 위에서 프로그램이 실행되는 구조이다. 하지만 자바 프로그램은 아래와 같은 구조로 실행이 된다.

자바 프로그램의 실행 구조

하드웨어를 기반으로 동작하는 운영체제가 자바 가상머신을 실행시키고, 자바 가상머신이 자바 프로그램을 실행시키는 구조로 동작한다. 자바 가상머신은 운영체제 위에서 동작하는 일종의 소프트웨어이다. 

 

자바 프로그램은 자바 가상머신에 종속되어 실행된다고 할 수 있다. 이는 자바 프로그램운영체제에 상관없이 실행시키기 위함이다. 프로그램은 본래 운영체제에 따라 구현 방법이 달라져 동일한 기능의 프로그램이더라도 운영체제에 따라 새롭게 프로그램을 작성해야 할 수도 있다. 하지만 자바 프로그램은 자바 가상머신이 운영체제에서 오는 차이점을 적절히 처리를 해 주기 때문에 운영체제를 신경 쓰지 않아도 된다.

운영체제를 신경쓰지 않아도 되는 이유

위와 같이 운영체제 별로 존재하는 차이점을 가상머신이 중간에서 해결한다. 하지만 운영체제 별로 자바 프로그램을 실행시키는 가상머신이 다르므로 운영체제에 따른 적절한 가상머신의 설치는 신경 써야 한다.

[ 자바 컴파일러와 자바 바이트코드 ]

자바 프로그램을 실행하기 위해 작성한 Java 확장자 파일을 '소스파일'이라 하고, 소스파일에 저장된 프로그램 코드를 가리켜 '소스코드'라 한다. 자바 컴파일러는 소스파일에 저장된 소스코드를 자바 가상머신이 이해할 수 있는 '자바 바이트코드'로 변환하는 프로그램이다. 바이트 코드는 확장자가 class인 클래스 파일에 담긴다.

자바 바이트코드(Java Bytecode)
: 자바 컴파일러에 의해 생성되는 코드이다. 컴파일러에 의해 생성되는 명령어의 크기는 기본적으로 1바이트이기 때문에 이와 같은 이름이 붙여지게 되었다.

javac.exe는 자바 컴파일러이다. java.exe는 '자바 런처(Java Launcher)'라 한다. 이는 자바 가상머신을 구동하고, 해당 가상머신 위에서 자바 프로그램이 실행되도록 돕는 프로그램이다.

반응형
LIST

'Language > Java' 카테고리의 다른 글

[ Java ] Eclipse 설치  (0) 2021.01.31
[ Java ] JDK 설치 및 환경 변수 설정  (0) 2021.01.18

관련글 더보기

댓글 영역