[자바스터디] 1. JVM과 자바 코드 실행 방법

피오·2021년 8월 17일
0

자바 스터디

목록 보기
2/4

JVM이란(Java Virtual Machine)

  • Java를 실행하기 위한 가상 머신(=컴퓨터). 가상 컴퓨터는 실제 컴퓨터(하드웨어)가 아닌 소프트웨어로 구현된 컴퓨터로, 컴퓨터 속의 컴퓨터라 할 수 있다.
  • 작성된 자바 응용 프로그램은 JVM에서 실행된다.
  • JVM은 운영체제별로 달리 개발된 프로그램이다(운영체제 종속적). 이 덕분에 운영체제마다 자바 프로그램을 다시 개발할 필요 없이 하나의 자바 응용프로그램만을 작성하여 여러 운영체제에서 동일한 자바 프로그램을 실행시킬 수 있다.

컴파일 하는 방법

  • (윈도우 기준) 콘솔창에서 javac파일을 실행
    1 ) 컴파일 하려는 .java파일이 있는 디렉토리로 이동한다.
    2 ) javac(자바 컴파일러)를 이용하여 소스파일.java를 실행해준다. 이 때 소스파일 내에 작성된 언어를 인코딩 해주기 위해 -encoding UTF-8을 붙여주었다.

2번까지 수행하니 디렉토리에 자바 바이트 코드가 담긴 .class파일이 생성되었다.

javac(자바 컴파일러)는 자바 JDK 디렉토리의 bin폴더에 담겨있다.
콘솔창에서 'javac'키워드 만으로 해당 디렉토리에 있는 자바 컴파일러를 실행할 수 있는 이유는 java bin디렉토리를 환경변수에 등록해주었기 때문.


실행 방법

  • 콘솔창에서 생성된 .class파일을 java(자바 인터프리터)로 실행한다.

이상하게 .class파일이 있는 디렉토리에서 java Test를 실행했을 때 에러가 나길래 인터넷에서 해결방법을 검색하여 임시로 해결하였다(디렉토리를 한단 계 뒤로 간 다음 package명을 .class파일명 앞에 붙여서 실행).

  • 이때 실행하려는 .class파일에 main메서드가 없다면 실행되지 않는다.

바이트코드란 무엇인가

  • 자바 컴파일러(javac.exe)가 자바 소스코드(.java)를 자바 인터프리터(java.exe)가 해석하고 실행할 수 있도록 변환한 코드(.class).

JIT 컴파일러란 무엇이며 어떻게 동작하는지

  • JIT 컴파일러란 실행 시점에 기계어 코드를 생성하는 번역기이다.

자바 개발자가 코드를 컴파일러(javac)로 일차 번역하면 바이트 코드로 번역되어 .class파일이 생성된다. 사용자가 프로그램을 실행하는 시점에 이 파일을 다시 번역기를 이용해 기계어로 번역해서 실행하게 되는데, 이때 사용하는 번역기가 JIT(Just In Time) 컴파일러이다.

  • 동작원리?

JVM 구성 요소

위 두 주제는 공부좀 더 한 후에 다시 작성해야겠다.

JDK와 JRE의 차이

  • JDK(Java Development Kit)는 Java 플랫폼을 사용하여 개발된 프로그램을 컴파일, 디버그 및 실행하는 데 필요한 모든 도구를 모아놓은 세트이다.

  • JRE(Java Runtime Envirionment)는 Java 프로그램의 실행을 담당하는 소프트웨어 도구 세트이다.

  • JDK는 JRE를 포함하고 있다. JDK를 설치하면 JRE도 설치된다. JVM은 JRE에 포함되어있다.

  • Java로 이미 개발된 프로그램을 실행만 하고자 할 땐 JRE만 설치해도 실행할 수 있다.

  • JDK, JRE란?


참고서적

참고 사이트

profile
블로그 이전했습니다. https://pzbg.tistory.com/

0개의 댓글