티스토리 뷰

Tip and Error/JAVA

변수와 메모리 관계

geonwoopaeng@gmail.com 2021. 4. 7. 21:16

변수와 메모리 관계


  • Program이 생행하여 process가 되어서 메모리에 로딩되는 순간 -> data 부분에 저장이 됩니다.

  • 메모리는 code / data / stack 부분으로 되어 있고

    • code 부분은 heap 메모리를 사용하여 실행을 마치면 garbage s에 의해 소멸 됩니다.

    • data 부분은 program이 끝나서 memory에서 upload 되는 순간 없어진다.

      (프로그램 꺼질때 없어지는 것)


변수 유형 선언 위치 사용 범위 메모리 생성 & 소멸
지역 변수(local 변수) 함수 내부 함수 내부에서만 사용 stack 함수가 호출될 때 생성되고 함수가 끝나면 소멸된다.
멤버 변수(instance 변수) class 멤버 변수로 선언 class 내부에서 사용되고 private이 아니면 참조 변수로 다른 class에서 사용 가능 heap instance가 생성될 때 heap에 생성되고, garbage collecter가 메모리를 수고할 때 소멸된다.
static 변수(class 변수) static를 사용하여 class 내부에 선언 class 내부에서 사용되고 private이 아니면 class이름으로 다른 class에서 사용 가능 data 영역 프로그램이 처음 시작할 때 상수와 함께 데이터 영역에 생성되고 프로그램이 끝나고 메모리를 해제할 때 소멸된다.

반응형

'Tip and Error > JAVA' 카테고리의 다른 글

Override  (0) 2021.04.08
상속 & super()  (0) 2021.04.08
Singleton Pattern(싱글톤 패턴)  (0) 2021.04.07
get() / set()  (0) 2021.04.06
Access Modifier (접근 제어 지시자)  (0) 2021.04.06
공지사항
최근에 올라온 글