일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- jvm
- 쿠버네티스
- 백준
- Java
- Real MySQL
- 스트림
- 자바 ORM 표준 JPA 프로그래밍
- gradle
- MSA
- 토비의 스프링
- Kotlin
- OS
- mysql
- SpringBoot
- 토비의 스프링 정리
- 이스티오
- 스프링
- K8s
- thread
- redis
- IntellJ
- JPA
- 자바
- Stack
- 보조스트림
- Stream
- spring
- list
- GC
- Collection
Archives
- Today
- Total
목록비원자성 (1)
인생을 코딩하다.
[JAVA]64비트는 왜 원자적이지 않을까? 및 연산의 원자성
volatile관련해서 책에서 32비트와 64비트에 효과적이라는 것을 보았는데, 왜 효과적이며 기존 32비트와 64비트에는 어떤 문제가 있는 것일까? 에 관한 고민을 하였다. 그리고 이에 관해 조사해 보았다. oracle docs를 보니, 라고 써있었다. 위 글에 관한 해결 방법이 volatile이고, 아래 내용이 문제점에 관해 조사해본 내용이다. long value = 123L; A,B 두 쓰레드가 있을 때, 위의 value에 값이 할당될 때 완벽히 한 메모리 작업 안에서 완벽히 쓰여지지 않는다. int value = 123; 하지만 int형이라면 완벽히 쓰여진다. 왜 그럴까? int형 보다 더 큰 타입, long이나 객체..그리고 변수 할당 및 연산 시 일어나는 작업에서는 완벽히 원자성을 가지지 않고..
Java
2021. 3. 27. 03:47