반응형

따로 java파일을 빼놓고 그 java만 실행하고 싶다면,

일단 확장자 .java 라 저장하고, 

main 메서드에 실행을 원하는 메서드를 작성하여 저장한다.

 

1.  이제 cmd창을 열고, 실행하고자하는 java파일이 저장되어 있는 경로로 이동!

최상위 경로로 이동

최상위 경로로 이동 (필요에 따라 ../../../ 이렇게 더 이동해도 되지만 그럴일은 거의 없을 것 같다)

② 이제 정확히 java 파일이 저장되어 있는 경로로 이동해준다.

2.  java 파일 컴파일 해주기!

원하는 자바파일을 javac을 이용해서 컴파일 시켜준다. 

Java 컴파일은 Java Compiler에 의해 .java 파일을 .class 라는 Java bytecode로 만드는 과정이다. Java Compiler는 JDK를 설치하면 javac.exe 라는 실행 파일 형태로 설치한다. 그래서 javac 명령어를 사용하면 .class 파일을 생성하는 것이다.

javac 을 알아보기전에, JVM (Java Virtual Machine),  JRE (Java Runtime Environment), JDK (Java Development Kit) 에 대해 알고 있으면 좋은데, 자세한 설명은 아래쪽에 두겠다.


<컴파일 과정에서 발생할 수 있는 에러 2 가지>

오류 #1 > 기본 클래스 ThumbAdd.java을(를) 찾거나 로드할 수 없습니다.

classpath 환경변수에 설치한 JDK bin 경로를 추가해줘야한다. 

제어판 - 시스템 - 정보 - (관련설정) 고급 시스템 설정

환경변수에서 Path 를 더블클릭 -> 본인의 JDK bin 경로를 '새로 만들기' 를 이용하여 추가해준다.

Path 를 잘못 지정해둘 경우, JVM에서는 해당 경로만을 탐색하기 때문에 아무리 cmd창에서 java파일의 위치로 이동해도 JVM의 탐색 대상에 포함되어있지 않아 JVM에 찾지 못한다고 나온다. 

추가해주고 cmd 창을 껐다가 다시 켜고 다시 javac 을 실행해야 한다.

오류 #2 > encoding 문제

javac이 친절하게 사용할 수 있는 옵션들을 알려주는데, cmd창에서 javac만 입력해서 엔터치면 친절히 알려준다

여기서 우리는 -encoding 을 사용하면 된다!

이렇게!!! 그러면 에러없이 실행이 됬을 것이다. 어떻게 확인하냐구?  .class 파일이 생긴 것을 확인하면 성공한거다.

오류 참고 : https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=en3824&logNo=221295260314


3.  java 명령어로 생성된 .class 파일을 실행하자

 

이렇게 실행하면 끄읏

 


JVM (Java Virtual Machine)

- JAVA를 실행하기 위한 가상 기계 

- JAVA는 OS에 종속적이지 않아 JAVA 와 OS 사이에서 중개자 역할을 수행하여 JAVA가 OS 에 종속받지 않고 실행할 수 있게  해준다. JAVA 소스코드 (*.java)는 CPU가 인식하지 못하기때문에 기계어로 컴파일을 해줘야한다. 하지만, JAVA는 JVM이라는 가상머신을 거쳐서 OS에 도달하기 때문에 JVM이 인식할 수 있는 Java bytecode (*.class) 로 변환된다. 

JVM 구성 요소

JRE (Java Runtime Environment)

- JVM이 자바 프로그램을 실행할 때 필요한 라이브러리 파일들과 기타 파일을 가지고 있다.

- JRE는 JVM의 실행환경을 구현한다고 할 수 있다.

- 자바 프로그램을 실행시키기 위해선  JRE를 반드시 설치해야하는데 자바 프로그래밍을 위해선 JDK 가 필요하다.

 

JDK (Java Development Kit)

- JAVA를 사용하기 위해 필요한 모든 기능을 갖춘 키트이다.

- JDK는 JRE를 포함하고 있다. 뿐만 아니라, 컴파일러(javac)와 JDB (Java Debugger), javadoc 를 포함하고 있다.

- 프로그램을 생성, 실행, 컴파일 할 수 있다.

한마디로,
JDK는, 자바를 실행, 컴파일 개발, JRE ·JVM 을 모두 포함하는 포괄적 키드.
JRE 는, 자바 프로그램을 실행할 수 있게 하는 도구, JVM 을 포함함

 

※ 참고: 

https://lee-automation-lab.tistory.com/entry/JAVA-JVM-JDK-JRE-%EB%8A%94-java%EC%99%80-javac-%EA%B9%8C%EC%A7%80-%EC%95%8C%EC%95%84%EB%B3%B4%EA%B8%B0

https://doozi0316.tistory.com/entry/1%EC%A3%BC%EC%B0%A8-JVM%EC%9D%80-%EB%AC%B4%EC%97%87%EC%9D%B4%EB%A9%B0-%EC%9E%90%EB%B0%94-%EC%BD%94%EB%93%9C%EB%8A%94-%EC%96%B4%EB%96%BB%EA%B2%8C-%EC%8B%A4%ED%96%89%ED%95%98%EB%8A%94-%EA%B2%83%EC%9D%B8%EA%B0%80

 

[JAVA] JVM이란? 개념 및 구조 (JDK, JRE, JIT, 가비지 콜렉터...)

JVM이란 무엇인가 Java Virtual Machine의 줄임말. 직역하면 '자바를 실행하기 위한 가상 기계(컴퓨터)'라고 할 수 있다. Java 는 OS에 종속적이지 않다는 특징을 가지고 있다. OS에 종속받지 않고 실행되

doozi0316.tistory.com

 

반응형

 

반응형

+ Recent posts