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

+ Recent posts