& lt; JAVA 가상 머 신 깊이 이해 & gt; 2 판 읽 기 노트 1
1874 단어 기초
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 가상 컴퓨터 의 관 리 를 받 지 않 고 코드 로 직접 신청 할 수 있 는 외부 메모리 입 니 다. 어떤 장면 에서 효율 을 높 일 수 있 고 본 컴퓨터 의 메모리 크기 에 제한 을 받 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
고층 함수고층 함수란 함수를 인수, 반환값으로서 취급하는 함수 … 잘 모르기 때문에, 우선 해 보았습니다! (↑가독성의 관점에서 별로 추천하지 않는다) 해봤어 인수를 하나씩 넣는 쓰는 법 해봤어 기초를 공부 중이므로 기본으로...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.