Java 관련 ✔
Java 언어의 장점
Java 8에서 새로 추가된 기능, Java 11에서 새로 추가된 기능 (+ 둘의 차이점)
Java 버전을 선택하는 기준
JVM, GC 관련
JVM
정의 ✔
특징 ✔
구조 (특히 메모리 영역 구조) ✔
Java의 실행 방식 ✔
JVM 원자성이란? ✔
JVM 모니터링 방법 ✔
GC (정의, 하는 역할, 필요한 이유, Java 버전 별 동작 방식)
정의 ✔
하는 역할 ✔
필요한 이유 ✔
Java 버전 별 동작 방식 (8과 11을 중점으로 자세하게) ✔
gc 모니터링 방법 ✔
JVM 응용 프로그램을 개발한 후에 운영하다 보면 out of memory가 나올 수 있는데, 이 에러 대처 방안 및 원인
JCF 관련 ✔
JCF란?
정의
각 인터페이스별 특징 (List, Map, Set)
특히 b에서는 HashMap의 작동 원리나 Hash 충돌, ArrayList에서는 사이즈를 늘리는 시기 등을 디테일하게 물어볼 수 있음.
동시성 관련 ✔
가변 객체와 불변 객체의 차이점 ✔
불변 객체를 사용하는 이유 ✔
자바의 동시성 이슈(공유자원 접근)에 대해 설명하라 ✔
자바의 동시성 이슈를 어떻게 해결하는가? ✔
Concurrent 컬렉션 원리를 잘 파악해 둘 것 (특히 compare and swap) ✔
atomic ✔
synchronizedList, synchronizedMap 등과의 차이점을 설명 ✔
synchronized 예약어에 대해 잘 알아둘 것 ✔
vector ✔
volatile, 뮤텍스, 세마포어, 모니터 ✔
java로 thread를 사용해 본 경험이 있는가? ✔
thread pool ✔
기타