Java/JVM 22

[JVM 밑바닥까지 파헤치기] 2. 자바 메모리 영역과 메모리 오버플로

저우즈밍 님의 "JVM 밑바닥까지 파헤치기" 책을 정리한 포스팅 입니다 1. 런타임 데이터 영역 JVM이 프로그램을 실행하는 동안 데이터를 저장하고 관리하기 위해 사용하는 메모리 구조 영역영역 이름설명주요 특징 및 구성 요소메서드 영역클래스 메타데이터 영역 힙 영역객체 인스턴스가 저장되는 영역- GC 관리 대상JVM 스택메서드 호출 시마다 생성되는 스레드 기반 스택- 스택 프레임 단위 구성프로그램 카운터 (PC)현재 스레드가 실행 중인 바이트코드의 줄 번호를 저장- 스레드마다 별도 존재- 네이티브 메서드 실행 시 비어 있음네이티브 메서드 스택C 등의 네이티브 메서드 실행용 스택- JNI 등 호출 시 사용 표) 메서드 영역더보기구분저장 내용설명클래스 메타데이터클래스 이름클래스의 식별 정보 부모 클래스 정보..

Java/JVM 2024.12.19

[JVM 밑바닥까지 파헤치기] 1. 자바 기술 시스템 소개

저우즈밍 님의 "JVM 밑바닥까지 파헤치기" 책을 정리한 포스팅 입니다 1. 자바 가상 머신 제품군제품명시기/기반주요 기능 및 특징단점 및 한계점Sun Classic VMJDK 1.0~1.2- 순수 인터프리터 방식 실행- 실행 효율이 낮음 (JIT 없음)Exact VM초기 JVM- 객체 포인터 정확히 추적- 실험적 성격HotSpot VMOpenJDK 기본 JVM- 핫 코드 탐지- JIT 컴파일- 온스택 치환- 메모리 사용량 증가- 초기 워밍업 시간 필요GraalVMPloyglot VM- 다중 언어 지원 (Java, Kotlin, JS, Python 등)- 중간언어 변환 방식- 빠른 실행 (Native Image 생성 가능)- 일부 기능 실험적- 일부 언어는 제한적 지원 가능 2. 자바 기술의 미래차세대 ..

Java/JVM 2024.12.19