일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 미국유학
- 자바
- Java 스터디
- 만다라트프로젝트
- 사이드프로젝트
- 미국대학
- Kenneth Park
- 미국대학생활
- 케네스
- 비전공자 git
- 복수학위제도
- 개인 프로젝트 개발일지
- 해외유학
- 유학생 준비물
- 부산외대
- 미국유학생활
- 자바 스터디
- 2+2
- java
- JVM아키텍처
- 파이데이아창의인재학과
- jpa
- i-20
- 미국유학생
- CSUS
- 유학생대학생활
- 케네스로그
- F1학생비자
- 개발일지
- California State University Sacramento
- Today
- Total
목록JVM아키텍처 (3)
케네스로그
이전 글에서는 클래스로더와 런타임 데이터 영역에 대해 알아보았다. 이번에는 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에는 이러한 클..
Java Virtual Machine ⚙️ Java의 슬로건처럼, 하나의 코드로 어떤 기기에서든 동작할 수 있게 하는 원천은 JVM에 있다. JVM은 Java Virtual Machine의 약자로, 자바로 작성된 코드를 실행시켜주는 프로그램이다. Java언어로 작성된 소스코드는 .java형식의 파일로 저장된다. 이 .java파일은 자바 컴파일러에 의해 .class형식의 자바 바이트코드 파일로 변환된다. .class 파일의 바이트코드는 JVM에 의해 각 OS가 실행할 수 있는 기계어 형식으로 전달된다. JVM 아키텍처 JVM은 크게 3개의 컴포넌트로 나눌 수 있다. Class Loader Runtime Data Area Execution Engine 1. 클래스로더(Class Loader) JVM의 구성요..