[자바] - 자바의 실행

yeom yaloo·2023년 11월 23일
0

FISA

목록 보기
2/61
post-thumbnail

자바로 프로그래밍을 하고 실행해보자

[자바 실행(번외!)]

javac Test.java

  • 해당 명령어는 자바 컴파일을 이용해 해당 자바 파일을 컴파일 한다는 의미다.

java -jar Test.jar

  • 해당 명령어는 자바 코드를 컴파일 후 바이트코드로 변환된 것들의 데이터 모음을 jar로 묶어둔 파일을 실행한다는 의미이다. (프로그램 실행의 의미)

1. jar/war

  • 둘이 차이는 있지만 바이트 코드의 집합이라는 것은 변함이 없다.

2. 코드 작성에서 프로그램 실행까지

  1. *.java 생성
  1. 코드 작성
  1. 컴파일
  • jdk/javac.exe -> 컴파일러
  • 컴파일러는 코드의 문법만 검증하고 이때 문법상 오류가 없다면 .java 파일을 byte code로 변환시킨다.
  • byte code는 인터프리터가 코드를 실행시킨다.
  • 인터프리터가 바이터코드를 실행 시킨 후 *.class 파일을 생성한다.
  • 이때 .java 파일은 src에 존재하고 .class 파일은 bin에 존재한다.
  1. 실행
  • jdk/jre/java.exe -> 인터프리터
  • 인터프리터는 컴파일러가 바이트코드로 만든 코드를 해석하고 실행할 때 사용한다.
  • *.java 파일을 여기서 인식하는 것은 불가하다.
  • *.class 라는 바이트 코드만을 인식하고 실행한다.
  • *.class들로 구성된 jar 파일 생성
  • 데이터 포맷등의 유효성 검증 작업은 이곳에서 진행되고 데이터가 무효한 경우 에러가 발생한다.

실행 단계 (더 구체적으로)

  • java file명 -> 해당 프로그램 실행
  • 1단계: *.class로 해당 파일명에 해당하는 바이트 코드가 있는지 확인한다.
  • 2단계: 존재한다면 해당 바이트 코드를 메모리에 할당한다.
    • method 영역 저장
    • static 멤버 변수는 생성
    • static {} 실행
  • 3단계: main 메소드 시작 호출
profile
즐겁고 괴로운 개발😎

0개의 댓글