[JVM] JVM이 무엇일까?

2025. 4. 16. 16:03·JAVA


JVM 은 Java Virtual Machine 의 약자로, 자바 가상 머신입니다.

우리는 인텔리제이나 이클립스 같은 ide 에서 자바 프로그래밍 언어를 작성할 수 있습니다.

이 코드를 작성한 후 컴파일 시키면 자바 컴파일러에서 바이트코드로 컴파일 됩니다.

 

이 바이트코드는 아무런 플랫폼에 종속되어 있지 않기 때문에, 하드웨어나 운영체제에 영향을 받지 않습니다.

맥에서 코드를 작성하건 윈도우에서 코드를 작성하건 같은 코드인데 에러가 나지 않는 건 이 바이트코드 덕분입니다.

JVM 은 이 바이트 코드들을 실행시킬 수 있게 도와주는 역할을 합니다.

 

순서를 정리하자면

1. 자바 코딩

2. 컴파일

3. 자바 컴파일러(javac)가 바이트코드로 코드를 컴파일함

4. 컴파일 된 파일이 .class 파일로 생성됨

4. JVM 이 클래스 파일을 실행시킴

5. 실행됨

 

역할

1. 바이트코드 실행

- 자바 고유 코드를 먼저 자바 컴파일러에 의해 바이트코드로 컴파일 됩니다. 이 바이트코드는 JVM 에 의해 실행됩니다.

2. 메모리 관리

- jvm 은 자바 프로그램의 메모리를 관리합니다. 주로 가비지 컬렉션을 통해 사용하지 않는 메모리 공간을 자동으로 정리합니다.

3. 플랫폼 독립성 제공

- jvm 은 운영체제와 하드웨어에 영향을 받지 않습니다. 따라서 이 바이트코드들을 여러가지 운영체제에서 실행시킬 수 있습니다.

 

구성요소

- 클래스로더 : 자바 클래스 파일을 로드하고, 이를 jvm 메모리로 읽어들입니다.

- 메모리 관리 : 힙과 스택을 포함한 다양한 메모리 영역을 관리합니다.

- 가비지 컬렉터 : 쓰지 않는 가비지 메모리들을 모아둡니다.

 

'JAVA' 카테고리의 다른 글

[JDK | JRE] JDK 와 JRE 의 차이는 무엇일까?  (2) 2025.04.16
[JAVA] 객체지향 언어 JAVA  (0) 2025.04.16
[복습] GetMapping 과 RequestMapping 의 차이  (0) 2025.04.15
[복습]어노테이션 @Controller 와 @RestController 의 차이  (0) 2025.04.15
프레임워크란 무엇일까?  (0) 2025.03.28
'JAVA' 카테고리의 다른 글
  • [JDK | JRE] JDK 와 JRE 의 차이는 무엇일까?
  • [JAVA] 객체지향 언어 JAVA
  • [복습] GetMapping 과 RequestMapping 의 차이
  • [복습]어노테이션 @Controller 와 @RestController 의 차이
동준1234
동준1234
공부 기록
  • 동준1234
    dongjundev
    동준1234
  • 전체
    오늘
    어제
  • GitHub
    • 분류 전체보기 (150)
      • 일상 (1)
      • 복습 및 회고록 (26)
      • Spring (17)
      • JAVA (32)
      • kubernetes (1)
      • Front-End (13)
      • Server (11)
      • SQL (20)
        • JDBC (1)
      • 자격증 (7)
        • 정보처리기사 필기 준비 (6)
        • 정보처리기사 실기 준비 (0)
        • SQLD (1)
      • project (18)
        • 백준 및 코딩테스트 공부 (6)
        • 대학교 캡스톤 디자인 (6)
        • 4학년 캡스톤 디자인 및 전시회 (3)
      • 네트워크 (3)
      • AI 머신러닝 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    react
    JavaScript
    개발자
    jQuery
    프론트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
동준1234
[JVM] JVM이 무엇일까?
상단으로

티스토리툴바