java - concurrentHashMap源码中的readValueUnderLock(e)存在的意义?
巴扎黑
巴扎黑 2017-04-18 10:04:43
0
3
881
巴扎黑
巴扎黑

모든 응답(3)
迷茫

으아악

이전 문장에서는 테이블에 key이 있음을 보여줍니다. put 메서드를 보면 valuenull인 경우 예외가 발생합니다.

으아악

저의 상위 버전입니다. 귀하의 것과 다를 수 있지만 값은 비워둘 수 없습니다.
그래서:

으아악

비어 있지 않으면 직접 반환할 수 있습니다. 비어 있으면 다른 스레드가 이를 운영하고 있다는 의미입니다. 그래서 추가했습니다.

으아악

현재 버전의 get 메서드는 HashEntry<K,V> eUNSAFE.getObjectVolatile()처럼 volatile

로 변경하여 가져옵니다.
阿神

포스터는 JDK를 업그레이드할 수 있습니다. 1.8을 사용하여 검색했는데 ConcurrentHashMap에서 이 코드를 찾을 수 없습니다.

刘奇

개체는 초기화될 때 null입니다. 이 null은 프로그램에서 특별히 할당되지 않습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿