>  Q&A  >  본문

Java 컬렉션 LinkedList의 구현 문제에 대해

으아악

last는 멤버 변수입니다. 최종 지역 변수에 할당하는 대신 메서드에서 직접 사용하는 것은 어떨까요?

过去多啦不再A梦过去多啦不再A梦2675일 전924

모든 응답(2)나는 대답할 것이다

  • typecho

    typecho2017-06-23 09:16:09

    코드 살펴보기

    으아악

    last는 일시적이잖아요? 로컬 최종 변수에 할당하면 last를 사용할 때마다 값을 확인할 필요가 없겠죠?

    회신하다
    0
  • 巴扎黑

    巴扎黑2017-06-23 09:16:09

    이유 중 하나는 스레드 안전성을 보장하기 위한 것입니다. 이 방법이 l 변수를 사용하지 않고 마지막 멤버를 직접 참조한다고 가정하면 if(this.last == null)。如果通过判断之后的瞬间,last 被赋值成了 null,那么下一句 unlinkLast(this.last) 판정이 되어 알 수 없는 결과가 발생하게 됩니다.

    회신하다
    0
  • 취소회신하다