Java

[Java] 명령 프롬프트에서 자바 컴파일 및 실행 하기

콩스프 2022. 10. 9. 22:54

자바 프로그램 개발 순서

 

 

1. 확장명이 .java인 텍스트 파일을 생성하고 프로그램 소스를 작성

2. 자바 소스 파일 컴파일러 (javac.exe)로 컴파일

3. 컴파일 후 생성된 바이트 코드 파일 (*.class)을 JVM을 통해 실행

 

 

1. 자바 소스 파일 생성

- 새 메모장에 다음 코드를 작성한다.

public class Hello {
	public static void main(String[] args) {
    	System.out.println("Hello World!");
    }
}
  • 1라인에서 Hello의 H가 대문자로 작성되어야 한다. (파일명과 대소문자가 동일해야 함)
  • 2라인에서 String의 S가 대문자로 작성되어야 한다.
  • 3라인에서 System의 S가 대문자로 작성되어야 한다.
  • 3라인 끝에 세미콜론(;)을 붙여준다

 

- 파일 이름에 "Hello.java"를 입력하고 저장한다.

 

2. 컴파일하기

 

- Window + R 을 누른뒤 cmd를 입력하여 명령 프롬프트 실행

 

 

- Hello.java 파일이 있는 폴더로 이동

cd Hello.java 파일이 있는 디렉토리 위치

*폴더 위치는 폴더 속성에서 확인 할 수 있음

 

 

- 컴파일러로 Hello.java 소스파일 컴파일하기
  프롬프트에   javac  클래스명.java   입력

javac Hello.java

Hello.class 파일이 생성된 걸 확인할 수 있음

- 바이트 파일 (.class) 파일은 완전한 기계어가 아니므로 단독으로 실행할 수 없고 JVM이 실행되어야 함

 

 

3. JVM 구동하기

- java.exe로 JVM 구동하기
   JVM을 구동시키는 명령어는 java.exe

   프롬프트에 java  바이트 파일명 입력

java Hello
  • java.exe로 바이트 코드 파일을 실행할 때는 .class 확장명을 제외한 이름을 입력해야 한다.
  • 대소문자가 일치해야 한다. (java hello 로 입력시 에러)

자바 프로그램이 실행되어 Hello World가 출력된 것을 확인할 수 있다.

 

 

* java.exe 명령어 실행시 JVM 역할

  • 컴파일러가 생성한 바이트 코드 파일(*.class)을 메모리로 로드
    • .class 코드를 JVM의 클래스 로더 (Class Loader)로 보냄
    • 운영체제에서 할당받은 메모리 영역 (Runtime Data Area)으로 로딩하여 JVM의 메모리에 올림
  • 최적의 기계어로 번역
  • main() 메소드를 찾아 실행