일상/TIL
JVM과 메모리 구조
aihtnyc_h
2023. 6. 5. 22:48
728x90
반응형
SMALL
원티드 챌린지 시작과 동시에.. 강의를 들었습니다..
어렵군요 ㅠㅠ
저걸 보면서.. 아 공부할게 너무 많다는 걸 다시 한번 깨닫게 됩니다 ㅠ
그래도 이해할때까지 물고 늘어지면 이해가 되겠죠!
사전에 정리하고 조사한 내용을 먼저 적었고 다시 공부해서 정리할 예정입니다!
To do
- [x] 아침 운동하기
- [x] 코테 5문제 풀기
- [x] 지원하기 5곳
- [x] 면접 연습하기
- [ ] cs 스터디 다시 준비하기
외부일정
- [x] 집안일하기
- [x] 피부과가기
- [x] 정형외과가기
- [ ] CS 스터디
- [x] 원티드 6월 챌린지
- [x] 원티드 백엔드 강의
CS 스터디는.. 강의 시간과 겹쳐 다시 조정하기로 하고 목요일로!! 화이팅!!
JVM의 정의와 메모리 구조를 아는 대로 서술해 주세요.
JVM(Java Virtual Machine) 은 자바 소스 코드를 바이트코드(.class 파일)로 컴파일하고, 이를 실행하는 역할을 담당하는 가상 머신이다. JVM은 자바 바이트코드를 어떤 기기에서든 실행할 수 있도록 하는 표준을 제공하므로, "Write Once, Run Anywhere(WORA)"라는 자바의 핵심 철학을 구현하고 있다. JVM은 메모리 관리 및 가비지 컬렉션, 스레드 관리 등의 역할도 한다.
메모리 구조
- 메소드 영역 : JVM이 읽어 들인 각 클래스와 인터페이스에 대한 런타임 상수 풀, 필드와 메소드 데이터, 메소드와 생성자의 바이트코드, 클래스 변수 등의 정보를 저장
- 힙 영역 : 객체와 배열이 생성되는 영역
- 스택 영역 : 메소드를 호출할 때마다 각각의 스택 프레임이 생성되며, 지역 변수, 매개변수, 연산의 중간 결과 등을 저장하는 데 사용
- PC Register : 현재 스레드가 실행되는 부분의 주소와 명령을 저장하고 있는 영역
- Native Method Stack : 자바 외의 언어로 작성된 네이티브 코드를 위한 메모리 영역
728x90
반응형
LIST