인프런 커뮤니티 질문&답변

ajdsasld님의 프로필 이미지
ajdsasld

작성한 질문수

김영한의 실전 자바 - 기본편

스택 영역과 힙 영역

스택 영역과 힙 영역 강의 내용 중 질문이 있습니다~

작성

·

47

0

 학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.


1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
여기에 질문 내용을 남겨주세요.

 

package memory;

 

public class JavaMemoryMain2 {

    public static void main(String[] args) {

        System.out.println("main start");

        method1();

        System.out.println("main end");

    }

 

    static void method1() {

        System.out.println("method1 start");

        Data data1 = new Data(10);

        method2(data1);

        System.out.println("method1 end");

    }

 

    static void method2(Data data2) {

        System.out.println("method2 start");

        System.out.println("data.value=" + data2.getValue());

        System.out.println("method2 end");

    }

}

 

다음과 같은 코드로 자바 프로그램을 1번 실행했다가 종료하면, 강의 내용에선 x001(예를 들어서) 참조값을 가진 Data 인스턴스를 참조하는 곳이 더이상 없기에 GC의 제거 대상이 된다고 하셨는데요,

그렇다면 어떤 자바 프로그램이든 한 번 실행했다가 종료된 직후에는 자바 메모리 힙 영역에 한 번 실행될 때 사용했던 객체들이 남아있게 되고 전부 참조하는 곳이 더 이상 없기에 전부 GC의 제거 대상이 된다고 생각하면 될까요?

마치 콘서트 한 번 진행하고 나서 발생한 쓰레기들을 청소한다고 생각하면 될지 궁금해서 여쭤봅니다~

 

답변 1

1

안녕하세요. ajdsasld님, 공식 서포터즈 David입니다.

네, 생각하신 게 맞습니다:)

감사합니다.

ajdsasld님의 프로필 이미지
ajdsasld

작성한 질문수

질문하기