JVM TLAB (Thread Local Allocation Buffer)
멀티스레드 환경에서 객체 할당 경합을 줄이는 JVM의 TLAB(Thread Local Allocation Buffer) 동작 원리와 주요 튜닝 플래그를 정리합니다.
멀티스레드 환경에서 객체 할당 경합을 줄이는 JVM의 TLAB(Thread Local Allocation Buffer) 동작 원리와 주요 튜닝 플래그를 정리합니다.
Java 21에서 도입된 Virtual Thread의 동작 원리를 운영체제의 멀티프로그래밍·멀티태스킹·멀티스레딩 개념과 연결해 설명하고, 장단점과 활용 시나리오를 정리합니다.
Java에서 멀티스레드 프로그래밍 시 발생하는 레이스 컨디션의 원인을 예제로 살펴보고, synchronized·Lock·Atomic을 활용한 해결 방법을 정리합니다.
JVM 메모리 구조와 가비지 컬렉션의 동작 원리를 정리하고, Serial GC부터 G1 GC, ZGC까지 주요 GC 알고리즘의 특징을 비교합니다.
jstat으로 GC 상태를 모니터링하는 방법과 Young/Old/Metaspace 영역별 증상에 따른 GC 튜닝 기준을 정리합니다.
Java의 함수형 인터페이스 Supplier의 개념과 사용법, 지연 초기화(Lazy Initialization)에 활용되는 이유를 예제로 정리합니다.
for문 대신 자바 Stream을 활용해 리스트·맵 변환, 중복 체크, null 처리, reduce 등을 정리한 예제 모음입니다.
Collectors.toMap()에서 키가 중복될 때 발생하는 Duplicate Key 예외와 Merge Function으로 해결하는 방법을 정리합니다.
NPE를 예방하기 위해 사용했던 null 체크, partition, Function.identity() 방어 코드를 모아 정리합니다.
프록시 서버를 거쳐 이미지를 받아오는 코드에서 방어 코드와 예외 처리가 부실해 발생한 NPE를 해결한 과정을 정리합니다.