백기선님 Live Java Study 커리큘럼을 통해 개인 스터디 진행
- 1주차 - JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가.
- 2주차 - 자바 데이터 타입, 변수 그리고 배열
- 3주차 - 연산자
- 4주차 - 제어문
- 5주차 - 클래스
- 6주차 - 상속
- 7주차 - 패키지
- 8주차 - 인터페이스
- 9주차 - 예외처리
- 10주차 - 쓰레드
따로 정리가 필요한것
- Comparable과 Comparator
- JVM Warm Up, Cold Start
- JIT 컴파일러 사용 이유(속도차이)
- JIT 컴파일러, HotSpot, GraalVM
- GC 과정(Young 영역에서 Old 영역으로 가는 기준), GC 튜닝
- JDK 8 이상 G1 GC
- Generic 공변성, 반공변성
- ArrayList와 LinkedList의 사이즈 증가 과정
- 멀티 쓰레드의 Lock 동작 과정
- Blocking, Non-Blocking, Sync, Async
- HTTP의 프로토콜 수준의 구조
- HTTP의 통신이 실제로 어떻게 일어나는지?
- (optional) HTTP의 버전별 차이
- Transaction의 특성 (ACID)
- Object Oriented의 정의 찾아보기
- 자바 클래스 생성 시 코드 실행 순서 확인해보기 (static, 멤버 변수 선언, static 블록, 초기화 블록, 생성자 등)
- 클래스(Class), 객체(Object), 인스턴스(Instance) 의 단어가 지칭하는게 어떤건지 명확하게 정리해보기
- 디자인패턴이 적용된 코드의 예제 찾아보기