일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스프링
- Locking Read
- iterator
- Synchronized
- 가비지 컬렉션
- Atomic Type
- Di
- MySQL
- MVCC
- reflection
- db
- CAS
- 가비지 컬렉터
- Varchar
- gc
- text
- foreach
- java
- 데이터 타입
- iterable
- jpa
- 백엔드
- Lock
- 자바
- 동시성 문제
- 동시성
- Today
- Total
목록자바 (2)
과정을 즐기자

자바는 멀티 쓰레드 기반의 동시성 프로그래밍을 지원합니다. 따라서 CPU 코어가 많아질 수록 이를 잘 활용할 수 있습니다.하지만 멀티 쓰레드이기 때문에 반드시 동시성 문제가 따라옵니다.이번 글에서는 Java에서 동시성 문제를 해결하기 위해 사용하는 synchronized, Lock Stripping, Atomic Type에 대해 알아보겠습니다.synchronized자바에서 synchronized 키워드는 메소드 또는 블록을 동기화하는데 사용합니다.synchronized가 붙은 메소드나 블록은 멀티 쓰레드이더라도 동시에 하나의 쓰레드만 접근할 수 있도록 합니다.객체를 생성하면 각 객체마다 내부적으로 Lock을 가지고 있는데 synchronized를 사용하면 이러한 Lock을 획득하고Lock을 획득할 수 없..

프로그래밍 언어는 메모리 관리 주체에 따라 크게 2가지로 나눌 수 있습니다. 언어 자체적으로 메모리를 관리해주는 Managed 언어 (Java, C#)와 개발자가 직접 메모리를 관리하는 Unmanaged 언어 (C, C++)입니다. Managed 언어는 메모리에 할당된 객체를 개발자가 관리를 하지 않아도 되고 Garbage Collector가 대신해줍니다. 이번 글에서는 Garbage Collection에 대해 알아보겠습니다. JVM 메모리 구조 Garbage Collector가 메모리의 어떤 부분을 관리해주는 지 알아보기 위해 먼저 JVM의 메모리 구조에 대해 알아보겠습니다. JVM 메모리는 크게 5가지 영역으로 나뉩니다. 1. Method Area Method Area에는 자바 컴파일러에 의해 변환된..