JVM (1) - 자바 동작 원리 대해에서 알아 보자

Chan Young Jeong·2023년 2월 18일
0

All About JAVA

목록 보기
6/10
post-thumbnail

자바

자바의 가장 큰 특징은 플랫폼에 독립적인 언어라는 점입니다. 기본적으로 프로그램이 실행되기 위해서는 Windows, Linux와 같은 운영체제 위에서 실행이 됩니다. 아래 그림처럼 하드웨어를 기반으로 운영체제가 동작하고 그 위에서 프로그램이 실행되는 구조입니다. 그렇기 때문에 프로그램이라는 것은 운영체제에 따라서 달리 구현되기 마련입니다. 예를 들어 Windows에서 동작하도록 구현된 워드 프로그램은 Linux기반에서는 동작하지 않습니다. 따라서 동일한 워드 프로그램이라도 운영체제에 따라 다르게 구현해야 합니다.

하지만 자바로 구현된 프로그램은 자바 가상머신 위에서 동작하게 됩니다. 그렇다면 자바 가상머신 위에서 동작하면 좋은 점이 무엇일까요? 바로 플랫폼(하드위어, OS)에 독립적으로 실행할 수 있다는 점입니다. 운영체제 별로 존재하는 차이점을 가상머신이 해결해 주기 때문에 자바 프로그램은 운영체제에 상관없이 실행될 수 있는겁니다.

운영체제의 차이에서 오는 문제점은 너는 신경쓰지마! 내가 다 알아서 처리할게!

자바 프로그램의 동작 원리

  • 소스 코드를 작성한다. (.java 확장자의 소스 파일)
  • 컴파일러(javac.exe)가 바이트코드로 변환한다(.class 확장자의 소스 파일)
  • 런쳐(java.exe)로 자바 가상머신을 구동시킨다.
  • 자바 가상머신이 바이트코드를 해석하여 자바 프로그램이 실행된다.

작성한 프로그램을 Compile하면 Java Class File Format으로 변경된다. 이를 수행하기 위해서는 Java Virtual Machine을 구동시며 Class파일을 로딩한다.

JVM으로 로딩된 프로그램은 단독으로 수행되는 것이 아니라 Java Application Pragramming Interface와 동적으로 연결되어 실행되는 것이다.

0개의 댓글