Java 스택과 힙의 차이
1. 쓰레기 수집 메커니즘은 힙 메모리에만 작용하며 스택 메모리와 관련이 없습니다.
2. 스택 : 스택은 힙보다 액세스하기가 더 빠르며 로컬 변수 및 객체의 기준 값을 절약하는 데 높은 효율이 있습니다.
3. 힙 : 더 큰 변수를 저장하십시오
4. 스택에는 매우 중요한 특수 기능이 있습니다. 즉, 스택에 존재하는 데이터는 공유 할 수 있습니다.
컴파일러가 int a = 3을 처리하면 먼저 스택의 변수 A에 대한 참조를 생성 한 다음 값 3이 스택에 존재하는지 여부를 찾습니다. 존재하지 않으면 3은 저장됩니다.
3이 이전에 저장 되었기 때문에 B = 3을 처리 할 때도 마찬가지입니다. 따라서 컴파일러는 생성 된 변수 B를 3으로 가리키면 공간을 절약하는 데 도움이됩니다.
이 시점에서 A와 B는 동시에 3을 가리 키지 만 사용에는 영향을 미치지 않습니다. a = 4 인 경우; 현재로서 정의되며, 4는 메모리에 저장되어 A에서 4로 가리키는 것이 필요하며, 값의 수정은 값 b에 영향을 미치지 않습니다.
메모리 부문 : 1, 등록. 2. 로컬 방법 영역. 3. 방법 영역. 4. 스택 메모리. 모든 저장된 로컬 변수. 또한 변수가 속한 범위가 종료되면 변수가 자동으로 해제됩니다. 5. 힙 메모리. 스토리지는 배열과 객체입니다 (실제로 배열은 객체입니다). 모든 새로운 것은 힙에 내장되어 있습니다. 특징 : 1. 각 엔티티에는 주소 주소 값이 있습니다. 2. 힙 메모리의 각 변수에는 기본 초기화 값이 있으며 유형에 따라 다릅니다. 정수는 0, 소수 0.0 또는 0.0f, 부울 오지 char '/u0000'3, 쓰레기 수집 메커니즘입니다.
읽어 주셔서 감사합니다. 도움이되기를 바랍니다. 이 사이트를 지원 해주셔서 감사합니다!