ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JVM Memory 운용 Model
    JAVA/JVM 2020. 10. 11. 20:59

    1. System Memory Model
    java Test이 발생하고나서의 상황

    ---------------------------------------------
    - 구획별 메모리는 64KB단위로 구분되어 있다.
    ┌───────────┐CS: Code Segment
    │[코드 영역]                 │ 
    │Test Class의 Source가 │ 
    │등록되는 영역              │ 
    ├───────────┤DS: Data Segment
    │[Data 영역]                │
    │static변수,                  │
    │static 메소드 저장        │
    │main()                       │ 
    │객체를 만들지 않아도   │
    │이영역의 요소 사용가능│
    ├──────────-┤SS: Stack Segment
    │[Stack 영역]              │
    │메소드가 사용하는 영역│
    │메소드 안에서 선언되는│ 
    │지역변수가 선언,         │
    │메소드 처리가 끝나면   │ 
    │메모리가 자동으로       │ 
    │회수됨                       │ 
    ├─────────-─┤HS: Heap Segment
    │[Heap 영역]               │
    │객체가 생성되면          │
    │존재하는 영역,            │
    │RAM의 양에 따라 무한대│
    │GC의 대상이 되는 영역 │
    └───────────┘

     

    2. JVM Memory Model
       - JAVA 소스가 들어가는 영역
       - 객체가 HashCode를 받는 과정
       - HashCode와 Memory Address의 연계과정
       - Heap에 할당되는 인스턴스 변수
       - 객체의 사이즈
       - 메소드안에서 사용하는 Stack Memory
       - Code Area에 저장되는 공유메소드
       - this, super의 존재 이유
       - Call By Value, Call By Reference호출과정
       - Garbage Collecting 과정

     

    댓글

Designed by Tistory.