JAVA 메모리 구조

Sarah·2022년 4월 14일

JAVA

목록 보기
1/3

java 파일은 필드, 생성자, 메서드로 구성된다.

메모리의 공간

Static(스태틱) 영역
Stack(스택) 영역
Heap(힙) 영역

=> 데이터타입(자료형)에 따라서 해당 공간에 할당된다.

✔ Static(스태틱) 영역

"Field의 전역변수 + Static 붙은 정적 멤버변수" 가 저장된다.

  • 프로그램 시작 ~ 종료까지 메모리를 차지한다.

✔ Stack(스택) 영역

"Method의 지역변수" 가 저장된다.
Method의 지역변수 : 기본자료형 (int, double, byte 등등)

  • 메소드 호출될 때 메모리 할당 / 종료될 때 해제

✔ Heap(힙) 영역

"참조형의 데이터 타입을 갖는 인스턴스, 배열의 진짜 데이터" 가 저장된다.
참조값 : 해시코드 / 메모리에 저장된 주소를 연결해주는 값

public class HeapAreaEx02 {
	public static void main(String[] args) {
		String str1 = new String("joker");
		String str2 = new String("joker");
		if(str1 == str2){
			System.out.println("같은 주소값 입니다.");
		}else{
			System.out.println("다른 주소값 입니다.");
		}
	}
} // 결과는 '다른 주소값 입니다.'

[출처][JAVA/자바] 메모리 구조(static, stack, heap)|작성자 JOKER

profile
2021.06 ~

0개의 댓글