>  기사  >  Java  >  JVM Java 메모리 영역에 대한 자세한 소개

JVM Java 메모리 영역에 대한 자세한 소개

零下一度
零下一度원래의
2017-06-25 09:50:431216검색
JVM 가상머신이 실행될 때 사용해야 하는 메모리 영역은 크게 말하면 힙과 스택이 아닙니다. 사실 힙과 스택은 상대적으로 일반적인 용어일 뿐입니다
먼저 그림 1:

일반적으로
 Java의 메모리 모델
메모리 모델은 힙 메모리(힙)와 메소드 영역(때때로 비힙이라고도 함)과 스택으로 구분됩니다
힙은 Young Generation(Young)과 Old Generation(Old/Tenured)으로 구분됩니다
                                             』 Space
  그런 다음 from과 to 공간이 교환됩니다. (from 영역의 물체가 충분히 오래되면, 즉 표시된 횟수가 이전 수준에 도달하면 구세대로 갈 예정)
메모리 크기 설정 매개변수는 아래 그림과 같습니다. 설명
-XMS: 힙의 최소 공간
-XMX: 힙의 최대 공간
-PermSize: 메소드 영역의 최소 공간
-MaxPermSize: 메소드 영역의 최대 공간
-Xss : 각 스레드의 스택 공간
-newSize: 새로운 세대의 최소 공간
-maxNewSize: 신세대의 최대 공간
힙의 대소문자와 신세대의 크기를 설정하여 구세대 메모리를 제어할 수 있습니다.
구세대 메모리 = 힙 메모리 - 신세대 메모리
stack

프로그램 카운터 실행된 라인 수. 작업 중 카운터의 라인 번호를 변경하여 실행되는 명령입니다. 네이티브 메소드 호출 시(native) 카운터는 빈 가상 머신 스택의 개인 소유자입니다. 메소드 종료 및 기타 정보로컬 변수 테이블: 기본 데이터 유형 , 객체 참조, long 및 double 유형은 두 개의 로컬 변수 공간을 차지합니다.메서드가 호출될 때마다 매개변수가 스택으로 푸시됩니다

로컬 메서드 스택        스레드 프라이빗 호출 시.

Heap:
Heap 메모리 여기서
힙은 신세대와 구세대로 구분됩니다

세대별 수집 알고리즘에서는 신세대를 에덴 공간(서바이터 공간, 서바이터 공간)으로 구분합니다. 이들 사이의 메모리 비율은 8:1:1입니다메서드 영역 저장소 클래스 정보, 상수, 정적 변수 및 JIT(Just-In-Time) 컴파일 코드

메서드 영역 아래에는 런타임 상수 풀도 있습니다: 리터럴 저장 및 컴파일 중에 생성된 기호 참조
블로그 게시물을 참조하세요

다음은 모두를 위한 테스트입니다.
기사에 언급된 정보 유형은 무엇인가요?

컴파일 중에 생성되는 리터럴 및 기호 참조는 무엇입니까?

위 내용은 JVM Java 메모리 영역에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.