> Java > java지도 시간 > 본문

Java 메모리 관리는 힙 생성과 어떻게 작동합니까?

Barbara Streisand
풀어 주다: 2024-11-05 04:29:02
원래의
797명이 탐색했습니다.

How Does Java Memory Management Work with Heap Generations?

Java 메모리 관리: 힙 생성 이해

Java 힙은 런타임 중에 객체가 할당되고 관리되는 메모리 공간입니다. 이는 다시 젊은 세대, 노인 세대, 영구 세대로 나누어지며 각각 특정 목적을 수행하고 서로 상호 작용합니다.

젊은 세대

젊은 세대가 첫 번째입니다. 객체가 할당되는 장소.

  • Eden Space: 새로운 개체가 처음에 여기에 할당됩니다.
  • Survivor Space: 가비지 수집 주기("minor GC"라고도 함)가 여기로 이동되었습니다.

Old Generation(Tenured Generation)

여러 Minor GC에서 살아남는 개체 생존자 공간은 이전 세대로 승격됩니다. 정적 데이터나 영구 엔터티를 나타내는 객체와 같이 수명이 긴 객체가 상주하는 곳입니다.

영구 세대

다른 세대와 달리 영구 세대는 일부가 아닙니다. 힙의. 클래스 및 메서드와 관련된 메타 정보를 위한 비힙 메모리를 보유합니다. Java 8에서는 영구 세대가 제거되고 이제 메타 정보가 Metaspace라는 단일 공간에 저장됩니다.

세대 간 상호 작용

세대는 연결됩니다. 가비지 수집 주기를 통해:

  • Minor GC: Eden 공간에서 개체를 회수하고 생존자를 생존 공간으로 이동하기 위해 젊은 세대에서 자주 발생합니다.
  • Major GC: 오래되어 더 이상 참조되지 않는 객체를 회수하기 위해 Old 세대에서는 덜 자주 발생합니다.
  • Full GC: 모든 세대를 수집하는 드문 이벤트입니다. 힙이 심하게 단편화되었을 때 사용됩니다.

요약하면 Young 세대는 수명이 짧은 객체를 위한 것이고, Old 세대는 수명이 긴 객체를 포함하며, 영구 세대(또는 Java에서는 Metaspace)입니다. 8 ) 클래스 및 메서드와 관련된 힙이 아닌 데이터를 저장합니다. 가비지 수집 주기는 시간이 지남에 따라 더 이상 필요하지 않은 객체를 이러한 세대를 거쳐 이동합니다.

위 내용은 Java 메모리 관리는 힙 생성과 어떻게 작동합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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