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 |
Tags
- MSA
- redis
- JWT
- bounded context
- bytecode
- Spring Data Redis
- SOA
- junit5
- Generic
- PSA
- *
- Transaction
- mockito
- Java
- 서명
- jvm
- Exception
- reflection
- rest api
- di
- AOP
- JSON
- OOP
- IOC
- Rest
- ddd
- spring
Archives
- Today
- Total
개발자일기
JVM 본문
JRE
- 자바를 실행하기 위한 도구
JDK
- JRE + 자바개발도구(컴파일러 등등)
메모리구조
heap
- 객체를 저장
메소드 영역
- 클래스 정보, static 변수
PC(Program Counter) 레지스터
- 실행되야될 명령어 위치를 가지고있다. 쓰레드마다 생성
스택
- 쓰레드마다 스택 생성, 메소드 호출 스택
네이티브 메소드 스택
- 네이티브를 실행하기 위한 스택
자바 실행 순서
COMPILE
- bytecode로 컴파일
클래스 로더
- 필요한 class들을 동적으로 메모리에 올림, class path에 있는것들은 다올린다.
- 힙에는 Class객체 생성
- 메소드 영역에는 클래스 정보를
- class로더 계층형 체이닝, 위에서 찾고 없으면 밑으로 위임
- 부트스트랩 : java_home/lib 자바 코어 라이브러리
- 플랫폼(익스텐션) 클래스 로더 : java_home/lib/ext
- 어플리케이션 클래스 로더 : classpath에 있는 라이브러리
실행엔진
- 인프리티러를 가지고 네이코드로 변경.
- JIT 컴파일러 : 인터프리터 효율 높이기 위해 반복되는 바이트코드는 네이티브 코드를 캐시화
'개발' 카테고리의 다른 글
Spring의 핵심 및 기술 (0) | 2020.03.21 |
---|---|
도커를 이용한 테스트 (0) | 2020.03.21 |
JUnit5을 이용한 단위테스트 (0) | 2020.03.21 |
MSA 마이크로아키텍처 알아보자(1) (1) | 2020.03.21 |
코드를 조작하는 방법 (0) | 2020.03.21 |
Comments