본문 바로가기
Java

[자바] 자바의 실행구조

by Sky Titan 2020. 9. 15.
728x90

JRE (Java Runtime Environment)

  • 자바를 실행하기 위해 필요한 JVM과 기타 API들을 포함하여 실행환경을 제공한다.

소스파일이 실행되기 까지

JVM (Java Virtual Machine)

  • 자바 가상 머신
  • 일반적인 네이티브 언어들은 운영체제마다 각자 다른 컴파일러를 사용해서 기계어로 번역함 EX) 윈도우는 exe 파일을 생성
  • 하지만 자바는 결과물이 운영체제에 종속되지 않고 자바 컴파일러가 생성한 바이트 코드를 JVM이 인식해서 실행하게 된다.

1. ClassLoader

  • 자바 컴파일러가 생성한 .class 파일을 메모리에 올린다(loading).

2. Execution Engine (실행 엔진)

  • ClassLoader가 메모리에 올리면 class 파일을 해석한다.
  • GC를 포함하고 있다.

3. Garbage Collector (GC)

  • .class 파일이 실행되고 나서의 메모리를 관리해줌
  • C계열 언어에서는 포인터를 이용하여 개발자가 직접 관리
  • 자바에서는 GC가 Heap영역의 더 이상 참조되지않는 메모리를 판단하고 회수한다.
728x90

'Java' 카테고리의 다른 글

[자바] hashCode()  (0) 2020.09.17
[자바] Collections 자료구조  (0) 2020.09.15
[자바] 인터페이스 (Interface)  (0) 2020.09.15
[자바] JRE, JDK  (0) 2020.09.15
[자바 이슈] Comparator 사용 관련 주의  (0) 2020.09.09

댓글