& lt; JAVA 가상 머 신 깊이 이해 & gt; 2 판 읽 기 노트 1

1874 단어 기초
이 책 을 읽 은 첫 번 째 는 JAVA 를 공부 한 지 1 년 만 에 강제로 다 읽 었 지만 많은 것 을 제대로 보지 못 했 습 니 다. 이제 JAVA 를 접 한 지 3 년 이 다 되 어 가 는데 이 책 을 다시 읽 을 때 가 되 었 습 니 다.
JAVA 메모리 영역 포함: JAVA , ( ) , , 첫 번 째 줄 의 두 개 는 모든 스 레 드 가 공유 하 는 구역 이 고 두 번 째 줄 의 세 개 는 모든 스 레 드 가 혼자 가지 고 있 습 니 다. 현재 스 레 드 가 어느 줄 코드 로 실행 되 었 는 지 표시 합 니 다. 모든 스 레 드 는 자신의 것 을 기억 합 니 다. CPU 가 스 레 드 스케줄 을 할 때 A 스 레 드 를 실행 하고 A 스 레 드 를 멈 추 면 B 스 레 드 를 실행 한 다음 에 다시 돌아 와 A 스 레 드 를 실행 합 니 다. 모든 스 레 드 는 자신의 진 도 를 기억 해 야 runnable 에서 running 상태 까지 정확하게 계속 실행 할 수 있 습 니 다. 실행 방법 에 필요 한 정 보 를 저장 하고 있 습 니 다. 그 중에서 가장 중요 한 것 은 부분 변수 표 입 니 다. 그 안에 방법 에 사용 되 는 기본 데이터 형식의 값 과 대상 유형의 인용 이 있 습 니 다. 한 방법 을 실행 할 때 데이터 가 스 택 에 들 어가 고 방법 집행 이 끝 날 때 데이터 가 스 택 에 나 옵 니 다.요청 한 스 택 깊이 가 가상 컴퓨터 가 허용 하 는 깊이 보다 크 면 StackOverFlowError 를 보고 합 니 다. 가상 스 택 이 동적 확장 을 허용 하면 확장 할 때 충분 한 메모리 신청 을 할 수 없 음 을 발견 하면 OutOFMemory Error 를 보고 합 니 다. 가상 컴퓨터 스 택 과 차이 가 많 지 않 습 니 다. 말 그대로 Native 를 실행 하 는 방법 과 관련 이 있다 는 것 을 알 수 있 습 니 다.JAVA 모두 가 알 고 있 는 JAVA 의 큰 특징 은 스스로 메모 리 를 관리 할 수 있다 는 것 이다. 사실은 자바 더미 에 대한 쓰레기 회수 (GC) 작업 을 말한다. JAVA 더 미 는 JAVA 대상 과 배열 을 저장 하 는 데 사용 되 는데 메모리 사용량 이 비교적 많 을 것 이 라 고 짐작 할 수 있다.서로 다른 GC 알고리즘 은 JAVA 더 미 를 여러 구역 으로 나 눌 것 이다. 예 를 들 어 신세대 와 옛날 이다.- Xmx 와 - Xms 를 통 해 쌓 인 크기 를 설정 합 니 다. 쌓 인 메모리 가 예제 를 내 려 놓 지 않 고 확장 할 수 없 을 때 OutOfmory Error 의 오 류 를 던 집 니 다. 모든 스 레 드 에 사용 할 수 있 는 것 을 저장 했다. 예 를 들 어 이미 불 러 온 정보, 상수, 정적 변수, 인 스 턴 트 컴 파일 러 가 컴 파일 한 코드 등 이다.방법 구역 에는 런 타임 풀 이 라 고 하 는 구역 이 있 습 니 다. 클래스 를 불 러 온 후에 컴 파일 과정 에서 생 성 된 문자 변수 와 기호 인용 을 런 타임 풀 에 넣 습 니 다.클래스 컴 파일 기간 에 상수 풀 에 값 을 넣 을 수 있 는 것 을 제외 하고 실행 할 때 도 새로운 상수, 예 를 들 어 String. intern () 방법 을 넣 을 수 있 습 니 다. 직접 메모 리 는 JAVA 가상 컴퓨터 의 관 리 를 받 지 않 고 코드 로 직접 신청 할 수 있 는 외부 메모리 입 니 다. 어떤 장면 에서 효율 을 높 일 수 있 고 본 컴퓨터 의 메모리 크기 에 제한 을 받 습 니 다.

좋은 웹페이지 즐겨찾기