쓰레드, 람다, 스트림, Optional

Chapter 12 :  일꾼 (쓰레드)

1. 프로세스와 쓰레드

프로세스 vs 쓰레드
프로세스 : 운영체제로부터 자원을 할당받는 작업의 단위
레드 : 프로세스가 할당받은 자원을 이용하는 실행의 단위
프로세스
쓰레드

2. 멀티 쓰레드

Java는 메인 쓰레드가 main() 메서드를 실행시키면서 시작이 됩니다.
메인 쓰레드는 필요에 따라서 작업 쓰레드들을 생성해서 병렬로 코드를 실행시킬 수 있습니다.
즉, Java는 멀티 쓰레드를 지원합니다.
싱글 쓰레드와 멀티 쓰레드의 차이에 대해서 좀 더 자세하게 살펴보겠습니다.
싱글 쓰레드
멀티 쓰레드

3. Thread 와 Runnable

Java에서 쓰레드를 구현하고 실행하는 방법에 대해서 학습해 보겠습니다.
Thread
Runnable
람다식
실습

4. 데몬 쓰레드와 사용자 쓰레드

데몬 쓰레드
사용자 쓰레드

5. 쓰레드 우선순위와 쓰레드 그룹

쓰레드 우선순위
쓰레드 그룹

6. 쓰레드 상태와 제어

우리는 동영상을 보거나 음악을 듣고 있을 때 일시정지 후에 다시 보거나 듣기도 하고 중간에 종료 시키기도 합니다. 쓰레드도 마찬가지로 상태가 존재하고 이를 제어를 할 수 있습니다.
쓰레드 상태
쓰레드 제어

Chapter 13 :  모던 자바 알아보기 (람다, 스트림, Optional)

1. 모던 자바? : 자바 8 변경점 알아보기

프로그래밍 언어의 진화
자바의 대격변, Java 8

2. 람다와 스트림 문법 살펴보기

람다와 스트림을 적용할 예시 코드
함수를 값으로 전달하기 : 함수형 인터페이스
람다: 익명 함수로 함수 한 번 간단하게 사용하기
스트림 알아보기

3. Null은 10억 달러 짜리 실수다? Optional

null은 나쁘다?
null이 나쁜 케이스
지금부터라도 잘하자! Optional<T>