Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 도커네트워크
- JVM
- 포함관계
- 상속관계
- HeapArea
- 참조변수
- jdk
- la-piscine
- javac
- SRP
- generics
- StackArea
- 이노베이션아카데미
- 42서울
- 제네릭스
- pg_hba.conf
- 운영체제
- LSP
- RDD
- Compiler
- MethodArea
- Operating System
- JIT
- 라피신
- java
- 42seoul
- 바이트코드
- 자바컴파일러
- abstract
- classloader
Archives
- Today
- Total
목록StackArea (1)
while(1) 작심삼일();

직전 포스팅에 이어서 JVM을 조금 더 자세히 설명하자면 JVM은 1. .class파일(바이트코드)을 ClassLoader를 통해 동적으로 클래스를 Runtime Data Area의 Method Area에 로드한다. 2. Execution Engine이 바이트코드를 두 가지 방식을 이용하여 읽는다. 2.1. 인터프리터 방식 : 한줄씩 해석, 실행하는 방식으로 속도가 느림 2.2. JIT 컴파일러 : 프로그램을 실행하는 시점(바이트코드 실행시점)에 각 OS에 맞는 Native Code로 변환하여 읽는다. 매번 같은 코드를 해석하지 않고 캐싱을 하기 때문에 바뀐부분에 대해서만 컴파일을 한다. 속도는 빠르나 비용이 소요되기 때문에 인터프리터 방식으로 진행을 하다 특정 기준이 넘어가면 JIT 컴파일러를 사용한다..
CS/java
2021. 4. 28. 01:14