오늘은 자바의 실행 과정을 알아보도록 하겠다.
Java는 운영체제로부터 독립적으로 작동하는 언어이다. 하지만 프로그램이 실행되기 위해서는 무언가가 운영체제의 기능을 대신해야 한다. Java에서는 그 기능을 JVM(Java Virtual Machine)이라는 가상머신이 한다.
우선, 개발자가 Java 파일에 코드를 작성한다. 확장자는 .java가 될 것이다. 이 파일을 JDK(Java Development Kit)에 속해있는 Java 컴파일러인 javac가 .class라는 바이트 코드 파일로 변환한다. 이 과정을 'Compile'이라고 한다.
Compile을 통해 바이트 코드로 변환된 .class 파일은 이제 JVM이 이해할 수 있는 코드가 되었다. JVM은 클래스 로더를 통해 컴파일 된 클래스 파일을 Runtime Data Areas(JVM의 메모리)에 올린다. 추가적으로 필요한 클래스나 라이브러리들도 함께 RDA에 올린다.
이렇게 메모리에 올라간 파일을 실행시키면 JVM의 Execution Engine(자바 인터프리터, JIT 컴파일러, Garbage Collector)을 통해 해당 파일이 기계어(바이너리 코드)로 변환되고, 운영체제가 이를 읽으면서 프로그램이 실행된다.
이후, 코드로 작성한 작업이 수행되고 결과가 출력된다.
일단은 이 정도로 마무리 하겠다. JVM의 각각의 요소들에 대한 자세한 설명은 다음에 하도록 하겠다.
아는 내용과 검색을 통해 나온 내용을 토대로 작성을 했는데 부족한 부분이 많은 것 같습니다. 혹시 틀린 부분이 있거나 보완할 부분이 있다면 댓글로 알려주세요!!
'개발 > JAVA' 카테고리의 다른 글
이클립스 디버깅 하는 법 (0) | 2024.02.01 |
---|---|
접근 제한자 복습!! (0) | 2024.02.01 |
Serializable 인터페이스란? (0) | 2024.02.01 |
Java Build Path와 Deployment Assembly의 차이점 (0) | 2024.01.30 |
JAR와 WAR의 차이 (0) | 2024.01.30 |