일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 케네스
- CSUS
- 개발일지
- i-20
- 비전공자 git
- 2+2
- 자바
- 미국대학생활
- 케네스로그
- java
- 자바 스터디
- jpa
- 미국대학
- California State University Sacramento
- 미국유학생활
- 미국유학생
- 유학생 준비물
- 파이데이아창의인재학과
- 만다라트프로젝트
- 복수학위제도
- 유학생대학생활
- 부산외대
- 개인 프로젝트 개발일지
- Java 스터디
- JVM아키텍처
- Kenneth Park
- 미국유학
- 사이드프로젝트
- F1학생비자
- 해외유학
- Today
- Total
목록jvm (2)
케네스로그

이전 글에서는 클래스로더와 런타임 데이터 영역에 대해 알아보았다. 이번에는 JVM의 코드를 실행시키는 실행엔진에 대해 알아보자. JVM 실행 엔진(Execution Engine) Execution Engine은 실제로 클래스파일의 바이트코드를 머신코드로 변환하여 실행하는 부분이라고 할 수 있다. 그 외에도 최적화를 위한 Garbage Collector, JIT Compiler, 그리고 Java Native Method Interface로 구성된다. 1. 인터프리터 Interpreter Java클래스파일의 바이트코드를 한줄씩 읽어서 native code(기계어)로 변환하여 실행하도록 한다. 다른 인터프리터 언어에서 사용되는 그 인터프리터가 맞다. 인터프리팅 방식의 문제는 반복 호출되는 메소드를 매번 인터프..

이전 글에서는 JVM의 아키텍처와 클래스로더에 대해 알아보았다. 이번글에서는 JVM에서 실제로 변수를 저장/활용할 수 있는 공간인 런타임 데이터 영역에 대해 알아보자. 런타임 데이터 영역(Runtime Data Area) 자동차가 달리기 위해선 도로가 필요로 하며, 기차가 움직이기 위해선 레일이 필요하다. Java프로그램을 실행하기 위해서는 클래스파일을 저장/실행하기 위해 컴퓨터 내부의 메모리 공간이 필요하다. 이것을 담당하는 것이 JVM의 Runtime Data Area이다. 이것은 5개의 영역으로 나누어진다. 1. 메소드영역(Method Area) 모든 클래스 레벨의 데이터가 저장된다. Person이라는 클래스의 멤버로 isLive라는 변수가 정의되어있다. 이 때, Method area에는 이러한 클..