Java
Java 언어·표준 라이브러리 학습 노트. 컬렉션 프레임워크, java.util.concurrent(JUC) 동시성 프리미티브 등을 다룬다.
Topics
- List (ArrayList vs LinkedList) — 동적 배열 vs 연결 리스트, 선택 기준과 시간복잡도 (부록: 캐시·가상 메모리·GC 관점 OS 레벨 deep dive)
- CountDownLatch — N개 스레드를 한 지점에서 일제히 출발/대기시키는 1회용 동기화 래치
- Future.get() vs CompletableFuture — 논블로킹의 실체.
get()이 park 되는 이유, 콜백을 실행하는 스레드, 3개 API 호출 실측 비교
앞으로 채울 주제 (학습 로드맵)
Collections
HashMap내부 구조 (버킷, 트리화, 리사이징)Set계열 (HashSetvsTreeSetvsLinkedHashSet)ArrayDequevsLinkedList(큐/스택 용도 비교)
Concurrency
ExecutorService/ 스레드 풀 (ThreadPoolExecutor,newFixedThreadPoolvsnewVirtualThreadPerTaskExecutor)CyclicBarrier/Semaphore/Phaser(다른 synchronizer 비교)AtomicLong/ CAS /LongAdderReentrantLock/ReadWriteLock/StampedLockConcurrentHashMap/BlockingQueue- 가상 스레드(Virtual Threads, Java 21) 심화 — 캐리어 스레드, pinning, 스케줄링
Related
- Spring — 동시성 테스트, 트랜잭션, JPA 컬렉션 매핑
- Backend Architecture — 동시성 제어 설계
- 블로킹 I/O와 이벤트 루프 — 스레드가 대기할 때 커널에서 벌어지는 일
Last updated on