일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- JavaScript
- annotationProcessor
- Java
- java8
- testAnnotationProcessor
- 어플리케이션컨텍스트
- Spring
- 그래들
- Lombok
- DataSet
- 어플리케이션 컨텍스트
- 그래이들
- RequestMapping
- 트랜잭션
- DispatcherServlet
- okhttp
- 토비
- WebApplicationType
- AOP
- ApplicationContext
- spring boot
- mybatis
- Bean Scope
- IntelliJ
- Gradle
- Thread-safe
- 스프링
- 빌더패턴
- 빈 스코프
- ConcurrentHashMap
Archives
- Today
- Total
목록Thread-safe (1)
나만보는페이지
[java] ConcurrentHashMap 동기화 방식
java8 (jdk 1.8.0_162) 기준으로 작성하였다. 기본적인 동작은 HashMap 과 동일하거나 비슷한 부분이 많아, HashMap 의 동작 원리 를 먼저 알아야 이해하기가 수월하다. HashMap 은 멀티스레드 환경에서 동시에 수정을 시도하는 경우 예상치 못한 결과가 발생할 수 있다. 멀티스레드 환경에서 안전하게 HashMap 을 조작할 수 있도록 java 에서 제공하는 concurrent 패키지의 자료 구조인 ConcurrentHashMap 을 사용하면서 동작 원리가 궁금해 찾아 보다가, 블로그 글마다 설명하는 내용이 다르기도 하고(java8 부터 동기화 부분 로직이 바뀌었다), 대략적인 설명만 읽어서는 잘 이해가 안되기도 했다. 그래서 직접 들어가 보기로 했다. 코드도 복잡하고, 변수 네이..
java
2020. 4. 24. 23:12