자바 메모리 영역 과 메모리 넘 침 이상 소결

2371 단어 자바JVM
런 타임 데이터 영역
프로그램 카운터
  • 현재 바이트 코드 의 줄 표시 기
  • 스 레 드 사유
  • 창고 구역
  • 스 레 드 사유
  • 자바 가상 컴퓨터 스 택
  • 가상 컴퓨터 에 자바 방법(즉 바이트 코드)서 비 스 를 수행 합 니 다
  • 부분 변수 표,작업 스 택,동적 링크,방법 수출 등 저장
  • 부분 변수 표:컴 파일 기간 에 분배 저장 기본 데이터 형식,대상 참조 완료
  • 로 컬 방법 창고
  • Native 방법 을 수행 하기 위 한 서비스
  • HotSpot 는 로 컬 방법 스 택 과 가상 컴퓨터 스 택 을 합 친다
  • 자바 더미
  • 스 레 드 공유
  • 목적:저장 대상 인 스 턴 스
  • 쓰레기 수 거 기 를 관리 하 는 주요 구역
  • -Xmx 와-Xms 를 통 해 동적 확장
  • 방법 영역
  • 가상 컴퓨터 에 불 러 온 클래스 정보,상수,정적 변수,인 스 턴 트 컴 파일 러 컴 파일 후의 코드 등
  • 메모리 회수 목 표 는 주로 상수 탱크 의 회수 와 유형 에 대한 마 운 트 해제(유형 마 운 트 해제 가 부하 보다 필요 하지만 필요)
  • 운행 시 상수
  • 컴 파일 기간 에 생 성 된 각종 글자 의 양 과 기호 인용
  • 을 저장 합 니 다.
  • 동적:운행 기간 에 새로운 변 수 를 넣 을 수 있 습 니 다

  • 직접 메모리
  • NIO 클래스 는 Native 함수 라 이브 러 리 를 사용 하여 쌓 아 올 린 메모리 를 직접 할당 할 수 있 으 며,쌓 아 올 린 DirectByteBuffer 대상 을 이 메모리 의 인용 으로 조작 할 수 있 습 니 다
  • HotSpot 가상 컴퓨터 대상 비밀 탐지
    대상 생 성
  • 새 대상(new 명령)을 만 들 고 명령 의 매개 변수 가 상수 탱크 에서 클래스 의 기호 인용 을 찾 을 수 있 는 지 확인 하 며 불 러 올 지 확인 합 니 다.없 으 면 클래스 로드 과정
  • 을 진행 해 야 합 니 다.
  • 메모리 할당:
  • 신입생 대상 에 게 메모리 할당:
  • 메모리 규정:포인터 충돌
  • 메모리 가 고 르 지 않 음:남 은 목록
  • 동시 다발 상황 에서 의 스 레 드 안전:
  • 메모리 공간 을 분배 하 는 동작 을 동기 화하 여 원자 성 을 확보한다
  • 모든 스 레 드 는 자바 더미 에 작은 메모리,즉 로 컬 스 레 드 할당 버퍼(Thread Local Allocation Buffer,TLAB)를 미리 할당 합 니 다.스 레 드 마다 자신의 TLAB 에 메모 리 를 할당 하고 새로운 TLAB 를 할당 할 때 만 동기 화 잠 금
  • 이 필요 합 니 다.

  • 대상 의 초기 화 와 설정:
  • 분 배 된 메모리 공간 을 0 값 으로 초기 화(TLAB 를 사용 하면 TLAB 를 할당 할 때 초기 화 가능)
  • 설치 대상 헤드
  • 방법 으로 대상 을 프로그래머 의 뜻 에 따라 초기 화
  • 대상 의 메모리 레이아웃
  • 대상 헤더:대상 자체 가 실 행 될 때의 데 이 터 를 저장 합 니 다.
  • Mark Word:HashCode,GC 세대 별 연령,잠 금 상태 표지,스 레 드 에 만 있 는 잠 금,편향 스 레 드 ID,편향 시간 스탬프 등
  • 유형 포인터:클래스 메타 데 이 터 를 가리 키 는 포인터 로 대상 이 어떤 종류의 인 스 턴 스 인지 확인 하 는 데 사 용 됩 니 다(불필요)
  • 정렬 충전(불필요):자리 표시 자,대상 이 8 바이트 의 정수 배
  • 여야 하기 때 문 입 니 다.

    대상 의 접근 위치
    스 택 에 있 는 reference 데이터 작업 을 통 해 쌓 인 구체 적 인 대상 이 필요 합 니 다.
  • 핸들 접근:
  • 더미 에서 메모리 하 나 를 핸들 풀 로 나 누고 reference 에 저 장 된 대상 의 핸들 주소,핸들 에는 대상 인 스 턴 스 데이터 와 유형 데이터 각자 의 구체 적 인 주소 정보
  • 가 포함 되 어 있 습 니 다.
  • 장점:안정 적 인 핸들,대상 이동(예 를 들 어 gc 작업)시 reference
  • 를 바 꿀 필요 가 없습니다.
  • 직접 포인터 접근:
  • 더미 대상 의 레이아웃 에서 유형 데 이 터 를 어떻게 배치 하 는 지 고려 해 야 합 니 다.reference 에 저 장 된 것 은 대상 인 스 턴 스 데이터 주소
  • 입 니 다.
  • 장점:속도 가 빠 르 고 포인터 포 지 셔 닝 시간 비용(HotSpot)
  • 을 절약 했다.

    좋은 웹페이지 즐겨찾기