728x90
HashMap
- key, value 에 null을 허용한다. 동기화를 보장하지 않는다. 그래서 싱글 쓰레드 환경에서 사용하는 것이 좋다.
탐색 속도는 빠르지만 신뢰성과 안정성이 떨어진다.
HashTable
- key, value에 null을 허용하지 않으며 동기화를 보장한다.
멀티 쓰레드 환경에서도 데이터의 무결성을 보장하지만 느린 동작이라는 단점이 있다.
ConcurrentHashMap
- 멀티 쓰레드 환경에서 사용 가능하고, 특정 Entry에 대해서만 락을 걸기 때문에 속도가 빠르다.
# 정리 : 싱글 쓰레드 상황이면 HashMap 을 사용하고, 멀티 쓰레드 상황이면 ConCurrentHashMap 을 사용하자.
< 쓰레드 >
프로세스 혹은 프로그램을 구성하는 흐름의 단위 이다. 쓰레드는 동시성과 병렬성 특징을 모두 갖는다.
쓰레드는 상속이나 implement 로 구현이 가능하고 이 상황에서 같은 객체를 참조하는 변수를 여러 개 만들어서
동시에 실행시키면 멀티 쓰레드를 구현할 수 있다.
728x90
'🟢 개념 정리 > Java' 카테고리의 다른 글
| Do it 자바 프로그래밍 책 정리 (0) | 2023.07.04 |
|---|---|
| Collections (0) | 2023.06.28 |
| Enum (0) | 2023.01.02 |
| 자바 튜토리얼 ( ~ 완결 ) (0) | 2022.05.31 |
| 자바 튜토리얼 ( 기초 ~ 오버라이딩 ) (0) | 2022.05.31 |