본문 바로가기
프로그래밍 언어/JAVA

자바 프로그램 실행 과정

by 티옌.liy 2022. 10. 30.

 

프로그램이 구동되기까지 과정

 

자바 소스코드(.java)를 컴파일 하면

클래스 파일(.class)이 생성되는데

 

JVM은 클래스 파일을 실행하고

OS에게 전달하여 프로그램을 구동한다.

 

프로그램을 실행하면

컴퓨터에서는 내부적으로

아래와 같이 진행되는데

 

1. 프로그램의 실행에 필요한 클래스 파일(.class) 로드

2. 클래스 파일 검사 ( 악성코드 및 문법 등 )

3. 첫번째 호출 규약 main 메서드 호출

 

그러면 main 메서드의 첫 코드부터 마지막 코드까지 진행된 뒤

프로그램이 종료되고 컴퓨터 자원을 OS에 반납하게 된다.

 

 

Java에서 main 메서드의 역할

예전에 Java 관련 토론을 진행할 때 자바는 클래스가 메인인데, main 메서드는 왜 필수인가? 메서드는 클래스의 일부일뿐 아닌가? 라고 어떤분이 질문했던 내용인데 좋은 질문이다. 결론부터 말하

tyen.tistory.com

 

 

.java 파일 내용
.class 파일 내용

위 사진처럼 자바 소스파일을 컴파일하면

Java 문법을 바이트 코드로 변환하면서

사람은 알 수 없는 내용으로 바뀐다.

 

대부분 이클립스(Eclipse)나 인텔리제이(InteliJ)같은

IDE가 위 과정을 자동으로 해주기 때문에

Java를 코딩할 때 이걸 일일히 다 알아야 하는건 아니지만

 

그래도 알고 있는것이 좋은데

다른 개발자와 협업하면서 주고받는 파일이

반드시 자바 코드(.java)라는 법은 없지 않은가

 

이런 구조를 알아야 클래스 파일(.class)을 받아도

오열하지 않고 자바 소스코드로 디컴파일 해서 소스코드를 볼 것 아닌가.

 

 

JAVA 클래스 파일 소스 코드로 변환하기

명령 프롬프트(CMD)에서 javap.exe를 사용하면 컴파일된 클래스 파일(.class)를 자바 소스코드(.java)으로 역어셈블리해서 변환할 수 있다. javap JavaNovice > RestoreJavaSourceCode.java // javap [클래스 파..

tyen.tistory.com

 

댓글