어읽로꾸거
[Java] HashMap, HashTable, ConcurrentHashMap 비교 본문
HashMap
HashMap은 동기화(Synchronized) 처리가 되어있지 않음. 싱글스레드 환경에서 이용할 수 있지만 멀티스레드 환경에선 안정성을 보장할 수 없음. Key, Value에 null 사용할 수 있음
HashTable
HashTable은 동기화(Synchronized) 처리가 되어있음. 싱글스레드에서는 느리므로 굳이 이용할 필요는 없음.
대신 멀티스레드 환경에서 안정성이 보장됨. Key, Value에 null 사용할 수 없음
ConcurrentHashMap
ConcurrentHashMap은 HashMap에 동기화(Synchronized) 처리를 한 상태임. HashTable보다 빠른 성능을 가짐. 하지만 Key, Value에 null 사용할 수 없음
SynchronizedMap과 다른점?
SynchronizedMap은 전체적으로 동기화 관리를 하지만 ConcurrentHashMap은 부분적으로 동기화 관리를 하므로 조금 더 효율적임
'정리' 카테고리의 다른 글
Visual Studio Code 터미널이 새창으로 열릴때 해결법 (0) | 2020.10.15 |
---|---|
[Python] collections.deque 정리 (0) | 2019.09.28 |
[python] Queue.Queue vs collections.deque (0) | 2019.04.22 |
자료구조 - 힙(Heap) with C (0) | 2019.04.13 |
자료구조 - 트리(Tree) with C (0) | 2019.04.07 |