카샤의 만개시기
close
프로필 배경
프로필 로고

카샤의 만개시기

  • 분류 전체보기 (106)
    • 만개시기 (1)
    • Foundation (13)
      • Algorithm (3)
      • Operation (1)
      • Network (2)
      • Programming (1)
      • Design Pattern (5)
    • Architecture (1)
      • DDD (1)
    • Java (23)
      • POJO (11)
      • Spring (4)
      • Liferay (1)
      • MSA (7)
    • Kotlin (13)
    • Go언어 (7)
    • Javascript (2)
      • EcmaScript (0)
      • Node.js (0)
      • React (0)
    • Swift (0)
    • Python (0)
    • Android (0)
    • IOS (0)
    • Database (4)
      • mySQL (3)
      • MongoDB (0)
      • Oracle (0)
      • Redis (0)
    • DevOps (25)
      • Docker & K8S (17)
      • Ansible (2)
      • Performance Test (4)
      • APM (1)
      • Fluentd (1)
    • Machine Learning (12)
    • Big Data (0)
      • pyspark (0)
    • Review (3)
    • 유용한 정보 (1)
    • 일상 (1)
  • 홈
  • 카테고리
  • 방명록

ConcurrentHashMap

1. ConcurrentHashMap이란?ConcurrentHashMap은 멀티스레드 환경에서 동시에 여러 스레드가 안전하고 빠르게 데이터를 읽고 쓸 수 있도록 설계된 해시맵입니다.기존의 HashMap은 스레드에 안전하지 않아 동시 접근 시 데이터 손상이나 무한 루프 같은 심각한 문제가 발생하지만, ConcurrentHashMap은 이를 해결했습니다.2. ConcurrentHashMap 동작 원리2-1. 세분화된 락 (Lock Striping)자바 7 이전에는 ConcurrentHashMap이 내부적으로 데이터를 여러 세그먼트(segment)로 나누고, 각 세그먼트별로 락을 걸어 동시 접근을 허용했습니다.이 덕분에 전체 맵이 아닌 해당 세그먼트에만 락이 걸려, 동시성 성능이 크게 향상됐죠.2-2. 자바 ..

  • format_list_bulleted Java/POJO
  • · 2025. 9. 29.
  • textsms

HashMap / Hashtable / ConcurrentHashMap: null 허용 규칙

Java에서 Map을 쓸 때 키/값에서 null을 허용하는지 여부에 대해서 알아보고자 합니다.한눈에 보기 컬렉션null 키null 값메모HashMap✅ (정확히 1개)✅ (여러 개 가능)get(k)가 null이면 “키 없음” 또는 “값이 null”일 수 있음 → containsKey(k)로 구분 필요Hashtable❌❌put/get에 null 사용 시 NullPointerExceptionConcurrentHashMap❌❌동시성·원자적 연산 일관성을 위해 null 금지 (compute/merge의 null 반환은 제거/미삽입 신호) 왜 규칙이 다를까?1) HashMap — 편의성 + 현대적 APIcontainsKey가 있어 get 결과가 null이어도 존재 여부를 구분 가능그래서 키 1개 null + 여..

  • format_list_bulleted Java/POJO
  • · 2025. 9. 29.
  • textsms
  • navigate_before
  • 1
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (106)
    • 만개시기 (1)
    • Foundation (13)
      • Algorithm (3)
      • Operation (1)
      • Network (2)
      • Programming (1)
      • Design Pattern (5)
    • Architecture (1)
      • DDD (1)
    • Java (23)
      • POJO (11)
      • Spring (4)
      • Liferay (1)
      • MSA (7)
    • Kotlin (13)
    • Go언어 (7)
    • Javascript (2)
      • EcmaScript (0)
      • Node.js (0)
      • React (0)
    • Swift (0)
    • Python (0)
    • Android (0)
    • IOS (0)
    • Database (4)
      • mySQL (3)
      • MongoDB (0)
      • Oracle (0)
      • Redis (0)
    • DevOps (25)
      • Docker & K8S (17)
      • Ansible (2)
      • Performance Test (4)
      • APM (1)
      • Fluentd (1)
    • Machine Learning (12)
    • Big Data (0)
      • pyspark (0)
    • Review (3)
    • 유용한 정보 (1)
    • 일상 (1)
최근 글
인기 글
최근 댓글
태그
  • #java
  • #Spring
  • #Kotlin
  • #쿠버네티스
  • #devops
  • #클라우드 네이티브
  • #코틀린
  • #go언어
  • #cloud native
  • #MSA
전체 방문자
오늘
어제
전체

티스토리툴바