wisePocket

[JAVA] 기초문법 - ✅️JVM? = 공통 실행 환경(Compile-time, Run-time) - 07 본문

Java & Algorithm/Java

[JAVA] 기초문법 - ✅️JVM? = 공통 실행 환경(Compile-time, Run-time) - 07

ohnyong 2023. 7. 24. 20:49

PC던 모바일이던 서버 컴퓨터던 JVM(Java Virtual Machine)을 깔아주면 Java를 실행 할 수 있다.  당연히 JDK에 JRE에도 들어있다. 실행과 관련 있기 때문이다. JVM은 Java가 조상인 C언어에서 추가된 기능이고 Java가 유명해진 영향을 준 핵심 하나라고 생각한다.

 

 

Java가 실행되는 흐름은 다음과 같다.

(~.java)로 끝나는 사람의 언어, 개발자의 언어(text)로 작성된 파일의 코드
-> (Java Compiler)(javac)변환기를 통해서
-> byte code(OS가 이해하는 언어)로 번역된다.(.class)

// 까지가 Compile-time 환경이다
// 여기부터 Run-time 환경이다

  //여기부터는 JVM이 하는 곳이다.

->(.class)byte code는 
-->(Class Loader)라는 운반기(bytecode를 읽음)를 통해서 메모리(데이터를 저장하는 영역)에 옮긴다.(여기서=>class객체를 만든다)
-->해석부[(Interpreter),(JIT compiler)가 기계어(CPU 장치가 그대로 읽을 수 있도록) 번역, (Garbage Collector)라는 청소부가 자동으로 메모리소멸,제거 등 처리해서(개발자 편하게함) 메모리(데이터를 저장하는 영역)에 옮긴다.

  //여기까지가 JVM이 하는곳이다.

-> OS
-> HW
// 여기까지가 Run-time 환경이다.

 

 

 

 

런타임과 런타임 환경이란?

런타임은 간단하게 프로그램이 실행되고 있는 동안의 동작을 가리킨다.해당 프로그램이 필요한 시스템 자원(RAM, 시스템 변수, 환경변수 등)을 할당받고 실제로 시스템 자원을 사용해서 어떤 처리를 하고 있는 것 또는 상태, 처리가 진행 중인 것을 말한다.

https://gf0308.tistory.com/13

 

[OS] 런타임(Runtime)과 런타임 환경(Runtime Environment)

컴퓨터를 사용하다 보면 종종 런타임이라는 말을 볼 때가 있다. 런타임 에러(Runtime Error), 런타임 환경(Runtime Environment) 등등 친숙할 정도로 꽤 많이도 접하는데 정작 정확한 의미는 몰랐었다. 그

gf0308.tistory.com


해당 Java 기초 연습은 아래 깃허브를 통해 업로드 됩니다.

https://github.com/yzpocket/ohnyong_java_excercise

 

GitHub - yzpocket/ohnyong_java_excercise

Contribute to yzpocket/ohnyong_java_excercise development by creating an account on GitHub.

github.com