Java에서 정적 요소가 있는 위치: 힙 및 스택 할당의 수수께끼 풀기
Java의 정적 메서드와 변수는 Java에서 뚜렷한 위치를 차지합니다. 기억의 영역. 각 개체 인스턴스에 고유한 인스턴스 메서드 및 변수와 달리 정적 대응 항목은 전체 클래스에 대해 존재하며 개체를 인스턴스화하지 않고도 액세스할 수 있습니다.
그렇다면 이러한 정적 요소는 어디에 있습니까? 그 답은 힙과 스택이라는 메모리 섹션에 있습니다.
스택 메모리에는 메소드 실행이 끝나면 더 이상 존재하지 않는 메소드 호출과 로컬 변수가 저장됩니다. 반면 정적 요소는 수명이 더 길고 힙에 상주합니다.
힙은 개체 및 기타 데이터 구조를 저장하는 더 큰 메모리 영역입니다. 힙 내에서 정적 메서드와 변수는 두 개의 주요 섹션으로 더 세분화됩니다.
정적 변수는 주로 PermGen 또는 메타스페이스 섹션. 정적 변수가 객체에 대한 참조인 경우 객체 자체는 정적 요소에 대한 특수 섹션이 아닌 일반 힙 영역에 상주합니다.
요약하면 Java의 정적 메소드 및 변수는 힙 메모리에 상주합니다. 특히 반사 데이터와 정적 필드를 저장하는 PermGen 또는 MetaSpace와 같은 섹션에 있습니다. 수명은 개별 메소드 실행 이상으로 연장되어 프로그램 전반에 걸쳐 접근성을 보장합니다.
위 내용은 Java의 정적 요소는 어디에 있습니까: 힙 또는 스택?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!