JAVA · JVM
스핀락, 뮤텍스, 세마포
한 프로그램 안의 여러 스레드가 같은 데이터를 건드릴 때 쓰는 스핀락·뮤텍스·세마포를 기다리는 방식과 소유권 차이로 비교하고, 순서 신호와 우선순위 역전까지 예제 흐름도로 정리합니다.
한 프로그램 안의 여러 스레드가 같은 데이터를 건드릴 때 쓰는 스핀락·뮤텍스·세마포를 기다리는 방식과 소유권 차이로 비교하고, 순서 신호와 우선순위 역전까지 예제 흐름도로 정리합니다.
CPU가 명령어를 실행하는 방식부터 OS의 역할, RAM이 부족할 때 쓰는 가상 메모리와 page fault, 프로세스와 스레드의 차이까지 GC 공부에 필요한 OS 기초를 정리합니다.
java 명령이 jar를 프로세스로 띄워 main을 호출하기까지의 과정, 자바 스레드와 OS·커널 스레드의 1:1 매핑, 인터프리터와 JIT, 클래스 로딩과 warm-up을 정리합니다.
Java에서 멀티스레드로 공유 변수를 증가시킬 때 레이스 컨디션이 생기는 과정을 스레드 실행 순서 흐름도로 살펴보고, synchronized·ReentrantLock·AtomicInteger로 해결하는 방법과 volatile의 한계를 정리합니다.
웹 서버와 WAS의 차이, 웹 시스템 구성 방식, 서블릿이 필요한 이유와 서블릿 컨테이너, 쓰레드 풀을 이용한 멀티 쓰레드 처리, SSR과 CSR을 정리합니다.