JVM Stack & Heap

Y39·2023년 2월 27일
0

toBeProgrammer

목록 보기
28/88

  • 기존 컴파일 문제
    • C/C++ 컴파일 플랫폼과 타켓 플랫폼이 다르면 실행이 안됨
    • 배포 과정에서 문제가 생김
    • 해결하기 위해 크로스 컴파일(타켓 플랫폼에 맞게)
  • Java
    • JVM으로 문제 해결
    • 자바 바이트 코드는 타겟 플랫폼에 관계없이 JVM에서 작동
    • 타켓 플랫폼이 아니라 JVM에 전적으로 의존
    • JVM은 네트워크에 연결된 모든 디바이스에서 작동하는 것이 목적이었음(그때 그시절)
    • 하지만 JavaScript에게 그 자리를 뺏김 (인터프리트로 해결)
  • JVM
    • MethodArea와 Heap은 모든 스레드가 공유
    • MethodArea
      • Class data가 저장됨(변수, 메소드 등등)
    • Heap
      • 모든 객체 저장
    • Stack
      • 바이트 코드를 이용하여 변수, 값(참조 포함)을 다룬다.
      • JVM이 레지스트가 아닌 stack을 쓰는 이유는 디바이스 마다 레지스트는 값이 다르기 때문
      • stack은 최소한의 관여가 가능하기 때문
profile
System.out.print("Bold")

0개의 댓글