84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
last는 멤버 변수입니다. 최종 지역 변수에 할당하는 대신 메서드에서 직접 사용하는 것은 어떨까요?
코드 살펴보기
last는 일시적이잖아요? 로컬 최종 변수에 할당하면 last를 사용할 때마다 값을 확인할 필요가 없겠죠?
이유 중 하나는 스레드 안전성을 보장하기 위한 것입니다. 이 방법이 l 변수를 사용하지 않고 마지막 멤버를 직접 참조한다고 가정하면if(this.last == null)。如果通过判断之后的瞬间,last 被赋值成了 null,那么下一句unlinkLast(this.last)판정이 되어 알 수 없는 결과가 발생하게 됩니다.
if(this.last == null)
unlinkLast(this.last)
코드 살펴보기
으아악last는 일시적이잖아요? 로컬 최종 변수에 할당하면 last를 사용할 때마다 값을 확인할 필요가 없겠죠?
이유 중 하나는 스레드 안전성을 보장하기 위한 것입니다. 이 방법이 l 변수를 사용하지 않고 마지막 멤버를 직접 참조한다고 가정하면
if(this.last == null)
。如果通过判断之后的瞬间,last 被赋值成了 null,那么下一句unlinkLast(this.last)
판정이 되어 알 수 없는 결과가 발생하게 됩니다.