HahsMap, HashTable, ConcurrentHashMap

2023. 12. 17. 03:29·TIL

HahsMap

-동기화보장안됨

-null한번 허용

동기화 처리를 하지 않기 때문에 데이터를 탐색하는 속도가 빠르다. 결국 HashTable과 ConcurrentHashMap보다 데이터를 찾는 속도는 빠르지만, 신뢰성과 안정성이 떨어진다.

 

Hash Table, ConcurrentHashMap

동기화 보장

null 허용x

성능은 ConcurrentHashMap이 더 우수

 

Hash Table, ConcurrentHashMap 의 차이점

Hash Table

메소드전체에 synchronized 키워드가 붙어 있다. 

 

해당 키워드는 메소드 전체에 락을 건다.

그래서 멀티 쓰레드 환경에서도 데이터의 무결성을 보장한다.

안전하지만 성능이 느려진다.

 

ConcurrentHashMap

 ConcurrentHashMap은 메소드 전체가 아닌 부분적으로 락을 걸어 데이터를 다루는 속도가 빠르다.

추가 및 삭제와 같은 수정 작업만 동기화가 된다. 읽기 작업은 동기화되지 않는다.

내부구현을 보면 중간에 synchronized 가 걸려있다.

 

멀티쓰레드 환경이라면 -ConcurrentHashMap,  싱글쓰레드 - HashMap

 

'TIL' 카테고리의 다른 글

@Slf4j  (0) 2024.11.25
Redis 란?  (3) 2023.08.19
'TIL' 카테고리의 다른 글
  • @Slf4j
  • Redis 란?
유당불내증이 있는 개발자
유당불내증이 있는 개발자
  • 유당불내증이 있는 개발자
    보초개발
    유당불내증이 있는 개발자
  • 전체
    오늘
    어제
    • 분류 전체보기
      • DB
      • Java
      • 이슈
      • 책
        • 객체지향의 사실과 오해
        • 자바의 신
        • 스프링 입문을 위한 자바 객체 지향의 원리와 이해
        • 토비의 스프링
        • 모던 자바 인 액션
        • 이펙티브 자바
        • Real MySQL 8.0
        • 자바 성능 튜닝이야기
        • 만들면서 배우는 클린 아키텍처
      • 인프런 강의
        • Practical Testing: 실용적인 테스트..
        • Jenkins를 이용한 CICD Pipeline ..
        • 비전공자도 이해할 수 있는 쿠버네티스 입문,실전
        • 대기업 근무하며 경험한 Redis를 야무지게 사용..
      • TIL
  • 인기 글

  • 태그

    redis
    db
    explain
    EC2
    MySQL
    AWS
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
유당불내증이 있는 개발자
HahsMap, HashTable, ConcurrentHashMap
상단으로

티스토리툴바