#jvm
노트 2개
Computer Science › Programming Languages
Java 동시성: 메모리 모델, 동기화, 스레드 풀, 가상 스레드Java에서 여러 스레드가 안전하게 협력하는 방법을 정리한다. happens-before로 정의되는 Java 메모리 모델, synchronized와 고유 락·wait/notify, volatile·Atomic·Lock의 보장 차이, 스레드 안전 컬렉션과 ConcurrentHashMap, ThreadLocal과 ScopedValue, ThreadPoolExecutor의 매개변수와 거부 정책, 작업 훔치기로 도는 Fork/Join, 가상 스레드가 플랫폼 스레드와 다른 점과 쓰는 법.
Computer Science › Programming Languages
JVM 내부 구조: 실행 엔진, 클래스 로딩, 메모리 영역, GCJVM의 구성 요소(클래스로더·런타임 데이터 영역·실행 엔진)와 계층형 JIT, javac가 만든 바이트코드가 클래스 로딩(로딩·링크·초기화, 부모 위임)을 거쳐 실행되는 과정, 스택과 힙의 역할, 세대별 GC와 Serial·Parallel·G1·ZGC·Shenandoah 비교, GC 로그·힙 덤프로 메모리 문제를 진단하는 방법, GraalVM Native Image와 AOT 캐시를 정리한다.