자바를 쓸 때 두 가지 메모리 공간을 다룬다.
#힙 - 객체가 사는곳
크기가 정해져 있지 않음.
객체, 배열, 인터페이스 등의 크기가 정해져있지 않은 값들을 주소형식으로 메모리에 저장.
참조하는 변수가 없다면 자동으로 힙 영역에서 제거된다.
몇 개의 스레드가 존재하던 단 1개의 heap 영역만 존재한다.
#스택 - 메소드 호출과 지역변수가 살아가는 곳
기본형 변수처럼 크기가 정해지는 실제값을 저장한다.
메소드 작업이 종료되면 메모리 공간이 비워지며 반환된다.
스레드마다 stack이 존재한다.
#가비지 컬렉션
힙 영역의 올려진 데이터가 있는데, 스택 영역에서 해당 힙 영역의 참조주소를 잃어버리면
힙 영역의 올려진 데이터는 쓰레기 값이 되어 가바지 컬렉션이 정리해버린다.
'프로그래밍 > Java' 카테고리의 다른 글
생성자 (0) | 2019.09.22 |
---|---|
접근제어자 (0) | 2019.09.22 |
static 변수와 static 메소드 이해와 사용예 (0) | 2019.09.18 |
JAVA의 변수(필드) 종류 - 클래스 변수, 인스턴스 변수, 지역 변수 (0) | 2019.09.18 |
클래스, 인스턴스, 객체 간단 정리 (0) | 2019.09.09 |
댓글