자바 개발자가 반드시 알아야 할 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>