자바의 메모리

bird.j·2021년 3월 28일
0

java

목록 보기
3/10

💡 레퍼런스

레퍼런스는 가리킨다는 뜻으로 생성한 객체의 주소를 변수에 저장하는 것.
객체의 주소가 null이면 더 이상 객체를 이용할 수 없다.
->NullPointerException 발생

💡 static area

메인 메소드와 같이 static으로 지정된 메소드의 코드는 해당 클래스 파일이 최초 호출될 때 메모리에 올라간 후 프로그램 종료 시까지 계속 남아있는다. 따라서 static메소드는 별도의 객체를 생성하지 않고도 언제 어디서나 접근해서 사용할 수 있다.

💡 stack area

메소드 내에서 정의하는 기본 자료형에 해당되는 지역변수의 데이터 값이 저장되는 공간이다. 즉 기본(원시)타입 변수는 스택 영역에 직접 값을 가진다. 해당 메소드가 호출될 때 메모리에 할당되고 종료되면 메모리가 해제된다.

💡 heap area

참조 변수의 실제 데이터가 생성되는 영역이다. new연산자로 생성된 객체와 배열을 저장한다. 참조하는 변수나 필드가 없다면 Garbage Collector에 의해서 제거된다.


참고 | 자바 프로그래밍 입문 강좌 (renew ver.)
참고 | 자바의 메모리 구조

0개의 댓글