> Java > java지도 시간 > Java의 정적 요소는 어디에 있습니까: 힙 또는 스택?

Java의 정적 요소는 어디에 있습니까: 힙 또는 스택?

Linda Hamilton
풀어 주다: 2024-11-26 03:56:15
원래의
1054명이 탐색했습니다.

Where Do Java's Static Elements Live: Heap or Stack?

Java에서 정적 요소가 있는 위치: 힙 및 스택 할당의 수수께끼 풀기

Java의 정적 메서드와 변수는 Java에서 뚜렷한 위치를 차지합니다. 기억의 영역. 각 개체 인스턴스에 고유한 인스턴스 메서드 및 변수와 달리 정적 대응 항목은 전체 클래스에 대해 존재하며 개체를 인스턴스화하지 않고도 액세스할 수 있습니다.

그렇다면 이러한 정적 요소는 어디에 있습니까? 그 답은 힙과 스택이라는 메모리 섹션에 있습니다.

스택 메모리에는 메소드 실행이 끝나면 더 이상 존재하지 않는 메소드 호출과 로컬 변수가 저장됩니다. 반면 정적 요소는 수명이 더 길고 힙에 상주합니다.

힙은 개체 및 기타 데이터 구조를 저장하는 더 큰 메모리 영역입니다. 힙 내에서 정적 메서드와 변수는 두 개의 주요 섹션으로 더 세분화됩니다.

  • PermGen: Hotspot과 같은 이전 JVM에 존재했던 이 섹션에는 클래스를 포함한 반사 데이터가 포함되어 있습니다. -관련 정보 및 정적 메소드 바이트 코드.
  • MetaSpace: 도입됨 Java 8, MetaSpace는 PermGen을 대체하고 반사 데이터 및 정적 필드를 위한 보다 유연한 저장 위치 역할을 합니다.

정적 변수는 주로 PermGen 또는 메타스페이스 섹션. 정적 변수가 객체에 대한 참조인 경우 객체 자체는 정적 요소에 대한 특수 섹션이 아닌 일반 힙 영역에 상주합니다.

요약하면 Java의 정적 메소드 및 변수는 힙 메모리에 상주합니다. 특히 반사 데이터와 정적 필드를 저장하는 PermGen 또는 MetaSpace와 같은 섹션에 있습니다. 수명은 개별 메소드 실행 이상으로 연장되어 프로그램 전반에 걸쳐 접근성을 보장합니다.

위 내용은 Java의 정적 요소는 어디에 있습니까: 힙 또는 스택?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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