>  기사  >  Java  >  자바 힙이란 무엇입니까?

자바 힙이란 무엇입니까?

青灯夜游
青灯夜游원래의
2019-12-26 15:52:163897검색

자바 힙이란 무엇입니까?

대부분의 애플리케이션에서 Java 힙(Java Heap)은 Java 가상 머신이 관리하는 가장 큰 메모리 부분입니다. Java 힙은 모든 스레드가 공유하는 메모리 영역으로 가상 머신이 시작될 때 생성됩니다. 이 메모리 영역의 유일한 목적은 객체 인스턴스를 저장하는 것이며 거의 모든 객체 인스턴스가 여기에 메모리를 할당합니다. 이는 Java 가상 머신 사양에 다음과 같이 설명되어 있습니다. 모든 객체 인스턴스와 배열은 쌍에 메모리를 할당해야 합니다. 그러나 JIT 컴파일러의 발전과 이스케이프 분석 기술의 점진적인 성숙으로 스택 내 할당 및 스칼라 대체 최적화 기술이 적용됩니다. will 이로 인해 약간의 미묘한 변화가 발생하고 힙에 할당된 모든 개체는 점차 덜 "절대적"이 됩니다.

Java 힙은 가비지 컬렉터가 관리하는 주요 영역이므로 흔히 "GC 힙"(Garbage Collected heap)이라고도 합니다. 메모리 재활용의 관점에서 볼 때 현재 수집기는 기본적으로 세대별 수집 알고리즘을 사용하므로 Java 힙은 다음과 같이 세분화될 수 있습니다. 더 자세하게는 Eden 공간, From Survivor 공간, To Survivor 공간 등이 있습니다. 메모리 할당의 관점에서 스레드 공유 Java 힙은 여러 스레드 전용 할당 버퍼로 분할될 수 있습니다. 그러나 어떻게 분할하든 저장 내용과는 아무런 관련이 없으며, 어떤 영역에 있든 객체 인스턴스는 여전히 저장됩니다.

Java Virtual Machine 사양에 따르면 Java 힙은 디스크 공간과 마찬가지로 논리적으로 연속적인 한 물리적으로 불연속적인 메모리 공간에 있을 수 있습니다. 구현 중에는 고정 크기이거나 확장 가능하지만 현재 주류 가상 머신은 모두 확장 가능하도록 구현됩니다. 힙에 인스턴스 할당을 완료할 메모리가 없고 힙을 확장할 수 없는 경우 OutOfMemoryError 예외가 발생합니다.

Summary

1 Java 힙은 Java 가상 머신이 관리하는 가장 큰 메모리 조각입니다

. #🎜🎜 #2. Java 힙은 모든 스레드에서 공유됩니다

3. Java 힙의 주요 기능은 객체 인스턴스를 저장하는 것입니다

4. 가비지 컬렉터

5가 관리하는 주요 영역. 컬렉터는 기본적으로 세대별 수집 알고리즘

6을 채택합니다. Java 힙은 신세대와 구세대로 나눌 수 있습니다. .아무리 세부적으로도 에덴 지역과 출발 지역으로 나눌 수 있습니다.

추천 학습:

Java 비디오 튜토리얼#🎜 🎜#

위 내용은 자바 힙이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.