자바 개발자가 반드시 알아야 할 SOLID 원칙 정리
객체지향의 4가지 특징
추상화와 캡슐화의 차이
Stack 클래스 vs Deque 비교
<aside>
JVM
1. 왜 JVM을 알아야 할까 (+ JVM 구조 한눈에 보기)
2. JVM의 메모리 - Runtime Data Area
3. Class Loader와 부모 위임 원칙
4. 실행 엔진 : 인터프리터와 JIT 컴파일러
5. Garbage Collection
GC 튜닝 (실습)
6. JVM 튜닝 실전편: 옵션 조정과 성능 최적화
가짜 JVM 만들어보기
</aside>
<aside>
Class
생성자(Constructor)
오버로딩(Overloading)
제네릭(Generics)
상속
오버라이딩(Overriding)
</aside>
<aside>
String
StringBuilder & StringBuffer
문자열 자르기
문자열 숫자로 변환하기
</aside>
<aside>
Java 8 주요 문법
람다식
표준 함수형 인터페이스
메서드 참조
스트림(Stream)
옵셔널(Optional)
</aside>
<aside>
Collection
알고리즘 문제에서 자주 나오는 자료구조 용도 매칭
문제 상황 |
자료구조 추천 |
순차 탐색 + 삽입/삭제 |
ArrayList , LinkedList |
최근 삽입된 값 처리 |
Stack (Deque ) |
먼저 들어온 것부터 처리 |
Queue (Deque ) |
앞뒤 양방향 삽입/삭제 필요 |
Deque |
우선순위 처리 |
PriorityQueue |
키-값 저장 및 빠른 탐색 |
HashMap , TreeMap |
중복 제거 + 빠른 탐색 |
HashSet , TreeSet |
ArrayList
LinkedList
HashSet
TreeSet
Hash Map
TreeMap
Queue
PriorityQueue
Deque
Stack
</aside>