인프런 – 김영한의 실전 자바 고급 1편
- 최근 프로젝트에서 동시성 문제를 직접 경험하며 단순 기능 구현에서 벗어나
자바의 스레드 구조·락·ExecutorService 등을 깊이 이해할 필요성을 느꼈습니다. - 스프링 백엔드 개발자의 기반은 결국 자바 언어에 대한 깊은 이해라고 생각하여 해당 강의를 기반으로 체계적으로 공부하고 정리했습니다.
- 단순히 강의 내용을 옮기는 것이 아닌 직접 이해한 내용을 예제 코드 + 분석과 함께 기록하는 것을 목표로 했습니다.
이번 학습은 개념을 배우는 학(學) 단계였다면 앞으로는 배운 내용을 실제 프로젝트에 익히고 적용하는 습(習) 의 과정으로 이어 가려고 합니다.
아래는 이 레포에서 다루는 핵심 주제입니다.
각 챕터는 폴더에 정리되어 있으며 링크를 통해 이동할 수 있습니다.
-
프로세스 와 스레드
-
CPU 작업
👉 문서 보기
-
JVM 과 스레드
-
스레드 종류 - 사용자 스레드, 데몬스레드
-
스레드 생성 방식
👉 문서 보기
-
스레드의 기본 정보
-
스레드의 생명 주기
👉 문서 보기
-
인터럽트
-
스레드의 상태
👉 문서 보기
-
스레드의 메모리 접근 구조
-
메모리 가시성
👉 문서 보기
-
임계영역
-
Synchronized
👉 문서 보기
-
LockSupport
-
ReentrantLock
👉 문서 보기
-
생산자 소비자 개념
-
생산자 소비자 예제
👉 문서 보기
-
생산자 소비자 예제 개선
-
BlockingQueue
👉 문서 보기
-
원자적 연산
-
CAS
👉 문서 보기
-
스레드 세이프
-
프록시 패턴
-
Synchonzied, Concurrent 동시성 컬렉션
👉 문서 보기
-
Executor
-
Callable & Future
👉 문서 보기
-
우아한 종료
-
Executor 스레드 관리
-
Executor 전략
👉 문서 보기