본문 바로가기

HashMap2

[JAVA] ConcurrentHashMap은 뭘까? (synchronizedMap, HashMap과의 비교) 서론여러 강의나 예제를 보면 동시성을 생각하면 concurrentHashMap을 사용하라고 한다. 왜일까? 그리고 도대체 뭘까?  ConcurrentHashMap 이란?!- Java의 java.util.concurrent 패키지에 포함된 동시성 map- 여러 스레드가 동시에 데이터를 안전하게 읽고 쓸 수 있도록 설계된 자료구조- 기본적으로 동시성 제어를 위해 여러 메커니즘을 사용하여 성능 저하 없이 스레드 안전성을 제공​ ConcurrentHashMap의 특징과 동작 방식1. 세분화된 잠금  - ConcurrentHashMap은 내부적으로 세그먼트(segment)나 버킷(bucket) 수준에서 잠금을 관리. 이는 전체 맵이 아닌 일부에만 잠금을 걸어 여러 스레드가 병렬로 작업할 수 있게 함  - Java.. 2024. 6. 3.
[JAVA] HashMap과 HashTable의 차이 서론어느날 Youtube에서 강연을 보다가 "hashMap과 hashTable의 차이 다들 잘 알고계시죠~? 면접에도 많이 나오잖아요." 라고 말씀하셨는데 나는 들어만 봤고, 그냥 남들 다 쓰니까 사용했지 정확한 차이같은건 모르고 있었고 알려하지 않았었기에.. 이번 기회에 정리해보려고 한다! Hash(해시)가 뭔데?먼저 Hash가 뭔지에 대해서 알아보자!해시(Hash)는 데이터구조와 알고리즘에서 중요한 개념으로, 데이터를 고정된 크기의 해시값으로 매핑하는 함수와 그 결과로 생긴 값을들 효율적으로 저장하고 검색하는 방법이다. 따라서 해시 기반 데이터 저장 구조에서는 데이터 검색과 저장이 매우 빠르게 진행된다.​ Hash Function(해시함수)가 뭔데?임의의 크기를 가진 데이터를 고정된 크기의 해시 값(.. 2024. 6. 3.