목차

    프로그래밍언어/Java

    자바(Java) HashMap, HashTable, ConcurrentHashMap 차이

    멍토 2021. 10. 27.

    목차

      HashMap : 비동기로 처리가 되어있어 성능이 다른 Map들에 비해 좋다.

       

      HashTable : JCF가 나오기 전에 만들어진 레거시 클래스로 대부분의 메서드에 동기화가 걸려있다. 그로 인해 단일 스레드 환경에서 성능이 떨어진다.

       

      ConcurrentHashMap : 멀티 스레드 환경에서 동시성을 보장하기 위해 만들어진 클래스

      JDK 1.5 버전에서 나왔다.

      get에는 동기화 처리가 되어있지 않으며 put에 보면 메서드에 붙어있는 것이 아니라 메서드 내부에 들어있는 것을 알 수 있다.

      특정 상황에서만 동기화가 동작하게 함으로써 병목현상을 최소화 처리를 했다.

      댓글