영상 후기 - JVM Stack & Heap

‍bng4535·2023년 2월 27일

movie

JVM

  • 컴파일한 컴퓨터와 실행하는 컴퓨터의 환경이 다르면 동작하지 않음 -> 크로스 컴파일 필요
  • 크로스 컴파일 : 타겟 플랫폼에 맞춰 컴파일 하는 것
  • 자바 바이트 코드는 타겟 플랫폼에 상관 없이 JVM 위에서 동작한다.

내부 구조


출처 : https://velog.io/@hono2030/JVM%EC%9D%98-%EA%B5%AC%EC%A1%B0

  • method area : 클래스 로더가 클래스 파일 읽어오면 클래스 정보를 파싱해서 method area에 저장

  • heap : 프로그램을 실행하면서 생성한 객체의 인스턴스를 저장

    method area와 heap 은 모든 스레드가 공유

  • java stacks : 스레드 별로 1개 존재, 스택 프레임이 생성되고 실행이 끝나면 pop

  • pc register : 메서드 안에서 몇 번째 줄을 실행해야 하는지 나타내는 역할

  • native method stacks : Java Bytecode 가 아닌 다른 언어로 작성된 메서드

    연산 시 레지스터를 쓰지 않고 스택을 사용하는 이유?

    • 디바이스 마다 레지스터 수가 다르기 때문에
    • 자바는 여러 디바이스에게 균일하게 동작함을 원하기 때문에
profile
공부 기록

0개의 댓글