자바 가상 컴퓨터 jvm 방법 영역 인 스 턴 스 설명
jdk 6 와 jdk 7 에서 방법 구역 은 영구 구역(Perm)으로 이해 할 수 있 습 니 다.영구 구역 은 매개 변수-XX:PermSize 와-XX:MaxPermSize 를 사용 하여 제정 할 수 있 습 니 다.기본 적 인 상황 에서-XX:MaxPermSize 는 64MB 입 니 다.프로젝트 에 프 록 시 모드 나 CGLIB 를 사용 하면 실행 할 때 많은 클래스 를 생 성 할 수 있 습 니 다.이 경우 영구 영역 크기 를 설정 하여 영구 영역 메모리 가 넘 치지 않도록 해 야 합 니 다.
CGLIB 는 뒤에 있 는 전문 장 에서 프 록 시 모드 와 함께 설명 한다.(이 시 리 즈 는 JVM 의 설명 에 집중 하고 있다)
다음 코드 사용:
for (int i = 0; i <10000; i++) {
CglibWapper c=new CglibWapper("cn.springok.perm"+i)
}
코드 설명:들 어 오 는 매개 변수 에 따라 클래스 와 클래스 의 인 스 턴 스 를 동적 으로 생 성 합 니 다.대상 이 예화 되 어 있 기 때문에 클래스 의 필드,방법,상수 탱크 는 방법 구역 에 저장 되 어 있 기 때문에 작업 은 일정한 메모 리 를 차지 할 것 입 니 다.대량의 클래스 가 방법 영역 이 넘 칠 수 있 습 니 다.아래 의 매개 변수 실행 코드 를 사용 하 십시오.
-XX:PermSize=10M -XX:MaxPermSize=10M -XX:PrintGCDetails
매개 변수 설명:
compacting perm gen total 86272K, used 86136K [0x44600000, 0x49a40000, 0x64600000)
the space 86272K, 99% used [0x44600000, 0x49a1e2f8, 0x49a1e400, 0x49a40000)
시스템 메모리 가 넘 쳐 확대-XX:MaxPermSize 값 으로 더 많은 종 류 를 생 성 할 수 있 습 니 다.
도구 Visual VM 을 사용 하여 방법 구역 의 구체 적 인 사용 상황 을 관찰 할 수 있 습 니 다.
주의해 야 할 점:
jdk 8 의 영구 구역 이 제거 되 었 습 니 다.대신 메타 데이터 구역 입 니 다.아마도 방법 구역 은 jvm 의 메모리 에 의존 할 것 입 니 다.메타 데이터 영역 은-XX:MaxMetaspaceSize 를 사용 하여 만 들 수 있 습 니 다.이전 버 전의-XX:MaxPermSize 와 마찬가지 로 분 배 된 값 이 많 을 수록 더 많은 종 류 를 지원 할 수 있 습 니 다.다른 것 은 메타 데이터 구역 은 쌓 아 올 리 는 직접 메모리 로 방법 영구 구역 과 달리 크기 를 지정 하지 않 은 상태 에서 가상 기 회 는 사용 가능 한 시스템 메모 리 를 모두 소모 합 니 다.
메타 데이터 영역 에 넘 침 이 발생 하고 가상 컴퓨터 처럼 이상 을 던 집 니 다.다음 과 같 습 니 다.
java.lang.OutOfMemoryError Metaspace
자바 가상 머 신 jvm 방법 구역 인 스 턴 스 설명 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.자바 가상 머 신 jvm 방법 구역 의 실전 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 지원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
간단하게 말하자면, Scala 집합하위 패키지의 모든 정의를 포함합니다.당신이 처리할 대부분의 추상은 여기에 정의되어 있습니다.collection.concurrent매핑 피쳐와 TrieMap 클래스를 정의하려면 원자적이고 잠금 없는 액세스 작업을 사...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.