> Java > java지도 시간 > JDK 8에서 PermGen을 대체한 것은 무엇이며 어떻게 작동합니까?

JDK 8에서 PermGen을 대체한 것은 무엇이며 어떻게 작동합니까?

Susan Sarandon
풀어 주다: 2024-11-19 01:04:02
원래의
691명이 탐색했습니다.

What Replaced PermGen in JDK 8 and How Does It Work?

JDK 8에서 PermGen 제거

JDK 8로 업그레이드할 때 Eclipse를 시작하려고 할 때 경고 메시지가 나타날 수 있습니다. 이 경고는 "MaxPermSize" JVM(Java Virtual Machine) 옵션이 JDK 8에서 제거되어 무시되고 있음을 나타냅니다.

"MaxPermSize"를 무시하는 이유

"MaxPermSize" 옵션으로 관리되는 영구 생성(PermGen) 공간이 JDK의 HotSpot에서 제거되었습니다. 8. 이는 주로 몇 가지 단점 때문이었습니다.

  • 시작 시 크기가 고정되어 조정이 어렵습니다.
  • 불투명하고 형식이 약하여 디버깅 문제가 발생합니다.
  • 향후 개선이 제한됨

PermGen을 대체하는 MetaSpace

PermGen은 이러한 단점을 해결하는 새로운 공간인 Metaspace로 대체되었습니다. Metaspace는 다음과 같은 여러 가지 이점을 제공합니다.

  • 클래스 로더별 저장 영역, 할당 단순화
  • 선형 할당 및 개별 회수가 없어 효율성 향상.
  • GC 스캔 또는 압축하여 오버헤드를 줄입니다.
  • 무제한 기본 크기, 잠재적인 메모리 방지

Metaspace Tuning

Metaspace의 최대 크기는 일반적으로 무제한이지만 "-XX:MaxMetaspaceSize" 플래그를 사용하여 설정할 수 있습니다. 또한 "-XX:MetaspaceSize"는 초기 크기를 정의합니다. 지정하지 않으면 Metaspace가 런타임 요구에 따라 동적으로 조정됩니다.

결론적으로 JDK 8에서 PermGen을 제거하고 Metaspace를 도입함으로써 GC 성능이 향상되고 런타임 관리가 단순화되었습니다. 개발자는 "MaxPermSize" 옵션의 지원 중단과 해당 옵션이 애플리케이션에 미치는 영향을 알고 있어야 합니다.

위 내용은 JDK 8에서 PermGen을 대체한 것은 무엇이며 어떻게 작동합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿