inflearn logo
강의

講義

知識共有

エフェクティブJava完璧攻略パート1

アイテム 7. 要点整理

객체 소멸에 관한 질문

544

japanspitz

投稿した質問数 3

0

안녕하세요! 강사님 강의를 듣다가 궁금한 점이 생겨서 질문 드려요.

Stack 클래스에 pop메서드가 기존에 배열 해당 참조값을 리턴해 주는 역할을 할 뿐 배열 자체에는 여전히 참조하는 값이 남아있어서 while 문을 돌려서 pop메서드로 다 꺼내도 가비지 컬렉션 대상이 아닌 것은 이해가 갔습니다.

그러면 혹시 Stack 클래스를 사용하는 메서드가 끝나게 되면 Stack을 참조하고 있던 지역 변수가 해제가 되면서 Stack 인스턴스가 가비지 컬렉션 대상이 되고 참조하고 있던 elements 배열도 같이 가비지 컬렉션 대상이 되는 건가요?

제가 이해하기론 Stack을 참조하는 지역변수 참조 관계가 끊어졌다고 하더라도 Heap 영역에 존재하는 elements 배열 내부에는 여전히 다른 Object들을 참조하는 강 결합으로 이어져 있기 때문에 가비지 컬렉션이 가비지 대상이 아니라고 판단하여 다 쓴 참조를 여전히 가지고 있기 때문에 메모리 영역을 차지하여 다 쓴 객체 참조를 해제하라고 이해하였습니다.

다른 곳에서 가비지 컬렉션 대상이 되는 객체들을 보았는데 Heap 영역 내에서 참조를 하고 있는 관계이면 강 결합이어도 가비지 대상이 된다는 글을 봐서 혹시 제가 잘못 이해한 것인지 궁금합니다.

질문이 너무 두서없는 것 같지만 제가 본 글 링크를 남겨 놓습니다.

https://d2.naver.com/helloworld/329631

java

回答 0

JAR파일 dependency 관련하여 질문드립니다.

0

229

2

선생님 작성한 정적 팩토리 메서드에 대해 의견 주실 수 있으실까요??

0

306

2

책에 쓰여 있는 스레드 안전에 대한 제 생각

0

295

2

프로젝트 설정 관련 질문

0

753

1

브릿지 패턴과 서비스 제공자 프레임워크 관계

0

280

1

[과제] EnumMap과 EnumSet가 HashMap과 HashSet보다 효율적인 이유

0

543

1

정적팩토리메소드와 ServiceLoader는 무슨 관계인가요?

0

346

1

강의 제목 오타 발견!!! 뚜둥

0

283

1

mvn install

1

458

1

강의 코드

0

486

2

Builder 필수값 질문입니다.

0

1044

1

Elvis, IElvis 질문이 있습니다.

0

478

1

EnumMap, EnumSet 정리

0

1003

1

HelloService 구현체

0

407

1

[과제] 강의 너무 만족스럽습니다.

0

716

1

PhantomReference 가 소멸되는 시점을 보는 코드 부분이 약간 이상한것 같습니다.

1

545

2

안녕하세요

2

682

1

정적 팩토리 메서드에 대해 질문이 있습니다.

0

542

0

Mock test 관련 질문입니다!

0

530

1

안녕하세요 선생님, 강의를 보고나서 Optional 소스코드를 뜯어보다가 어려운 부분이 있어서 질문 드립니다.

2

522

2

기선님 질문있습니다..

0

381

1

intellij의 equals 자동 생성 기능

1

521

1

Builder에 default값 추가하기

0

304

1

[과제] EnumMap, EnumSet

8

882

1