김영한의 실전 자바 - 고급 3편, 람다, 스트림, 함수형 프로그래밍
김영한
₩77,000
초급 / Java, 함수형 프로그래밍, Lambda, optional
5.0
(59)
최신 자바에 꼭 필요한 람다, 스트림, 자바를 활용한 함수형 프로그래밍 기술을 기초부터 실무 레벨까지 깊이있게 학습합니다.
초급
Java, 함수형 프로그래밍, Lambda
멀티스레드
동시성
스레드 풀과 Executor 프레임워크
프로세스와 스레드, 스케줄링, 컨텍스트 스위칭
전 우아한형제들 기술이사, 누적 수강생 40만 명 돌파
김영한이 자바 강의를 만든 이유
•••
“진짜 실무에 필요한 제대로 된 개발자를 만드는, 제대로 된 자바 강의를 만들고 싶었습니다.”
자바 멀티스레드 프로그래밍 (Java Multithread Programming)
동시성 (Concurrency)
프로세스(Process) 및 스레드(Thread), 스케줄링(Scheduling)
컨텍스트 스위칭 (Context Switching)
이 강의는 김영한의 실전 자바 로드맵의 다섯 번째 강의로, 자바 기본 문법 및 OOP(클래스, 제네릭, 컬렉션, 자료구조) 등의 중급 개념과 기능을 학습한 분들을 대상으로 합니다.
>> 목적에 맞게 효과적으로 학습할 수 있도록 자바 로드맵 가이드를 소개합니다.
본질적 이해의 중요성
자바의 문법과 기능을 단순히 알기만 하는 것이 아니라, 그 기능이 왜 필요하고 어떻게 실무에 적용할 수 있는지에 대해 깊이 있게 탐구합니다.
실무적 접근 방식
단순한 이론 전달이 아닌, 이해를 돕는 그림 및 예제 코드를 통해 자바 기술의 필요성을 단계적으로 이해시킵니다. 또한 다양한 예제를 통해 각 기술이 실무에서 어떻게 활용되는지 이해할 수 있습니다.
이번 자바 고급 1편 강의에서는 멀티 스레드와 동시성을 CS 기본기부터 시작해 실무에 필요한 활용 기술까지 완전히 마스터하는 것을 목표로 하고 있습니다.
덧붙여 고급 1편은 지금까지 공개된 "김영한의 실전 자바" 시리즈 중 가장 방대한 분량으로 이루어져 있습니다. 그만큼 처음에는 개념을 잡기 어려울 수 있지만 강의를 통해 멀티 스레드와 동시성의 패러다임을 잘 갖춘다면 앞으로 프로그래밍을 하는 데 있어 (어떤 언어를 쓰더라도) 쭉 활용할 수 있는 기본기가 되어줄 것입니다.
여러분이 단순히 스레드를 아는 것을 넘어서 실무에 필요한 자바 멀티스레드 기술과 동시성 문제를 정말 깊이있게 제대로 이해하고, 또 실무에서 제대로 활용할 수 있게 가르쳐 드리겠습니다.
자바 고급 1편 이후 이어지는 고급 2, 3편(예정)에서는 I/O, 네트워크, 애노테이션을 활용하는 방법을 알아봅니다. 아울러 람다, 스트림 및 최신 기능 위주의 모던 자바를 학습하고 실제 실무에서 베스트 프랙티스를 탐색하는 데 꼭 선행되어야 하는 역량을 기르는 것을 목표로 합니다.
CS 이론의 바탕 위에
스레드의 기본기를 익힙니다.
동시성 문제를 해결하는 방안과 고급 동기화 기법까지 알아봅니다.
실무에서 사용하는 멀티스레드 기술을 완전히 마스터해 봅니다.
스레드를 다루기에 앞서 개념을 확실하게 이해할 수 있도록 필요한 CS 이론을 학습합니다. 프로세스, 스레드, 멀티스레딩, 운영체제의 스케줄링 등 기반이 되는 핵심 지식을 다집니다.
프로세스와 스레드 (Process & Thread)
멀티태스킹 (Multi-Tasking)
스케줄링2 (@Schedule)
스레드의 생성과 제어, 스레드의 생성 주기, 메모리 가시성 및 동시성 문제의 이해와 해결 등 동시성 문제를 해결하는 더 나은 방안들과 고급 동기화 기법까지 학습해 봅니다.
스레드 제어
스레드 생명 주기
메모리 가시성 Volatile
Synchronized 동기화
ReentrantLock - 고급 동기화
스레드 제어 - 다양한 예제
스레드를 활용할 때 반드시 이해해야 하는 생산자-소비자 문제를 알아봅니다. 해당 문제를 해결하는 Lock-Free 기술인 CAS의 원리와, 멀티스레드 상황에서 활용할 수 있는 동기화 컬렉션의 원리와 활용법을 함께 학습합니다.
생산자-소비자 문제 (Producer-Consumer Problem)
CAS (Compare And Swap)
동기화 컬렉션 (Synchronized Collection)
Future, 스레드 풀(Thread Pool) 및 Executor 프레임워크의 원리와 실무 활용 방안까지 실제 자바 프로그래밍에 꼭 필요한 멀티스레드 핵심 기술을 완전히 마스터합니다.
Future의 작동 원리
스레드 풀과 Executor 프레임워크 - 원리
스레드 풀과 Executor 프레임워크 - 실전 활용
“어떤 걸 더 가르쳐야 하는지보다도, 반드시 알아야 할 내용이 무엇인지를 더욱 깊이 고민했습니다.”
이번 ‘김영한의 실전 자바 Java 로드맵’ 에서 저의 목표는 진짜 실무에 필요한 기본기가 탄탄하게 갖춰진 실력 있는 개발자를 만드는 것입니다. 제대로 알고 사용할 때 도움이 되는 개념을 다져둠으로써 이후 엔지니어로서의 역량을 기를 수 있도록 도와드리고자 합니다. 이 강의를 통해 많은 분들이 앞으로 나아갈 수 있는 기반을 좀 더 쉽고 편하게, 그리고 확실하게 쌓을 수 있기를 바랍니다.
학습 대상은
누구일까요?
개발자 취업 준비생
자바 공부를 했지만 기본기를 제대로 다지고 싶은 분
실무에 필요한 자바를 더 깊이있게 이해하고 싶은 개발자
선수 지식,
필요할까요?
김영한의 실전 자바 - 중급 1, 2편
김영한의 실전 자바 - 기본편
505,781
명
수강생
31,834
개
수강평
8,803
개
답변
5.0
점
강의 평점
22
개
강의
교육자
전: 우아한형제들 기술이사, 카카오, SK플래닛
진짜 실무에 필요한 제대로 된 개발자가 될 수 있도록, 교육하는 것이 저의 목표입니다.
EO 인터뷰 영상
개발바닥 - 시골 청년 개발왕 되다
전체
118개 ∙ (20시간 48분)
해당 강의에서 제공:
멀티태스킹과 멀티프로세싱
12:15
프로세스와 스레드
10:24
스레드와 스케줄링
08:55
컨텍스트 스위칭
21:37
프로젝트 환경 구성
03:05
스레드 시작1
20:25
스레드 시작2
04:31
데몬 스레드
07:44
스레드 생성 - Runnable
06:32
로거 만들기
06:39
여러 스레드 만들기
04:45
Runnable을 만드는 다양한 방법
07:03
문제와 풀이
09:43
정리
06:06
스레드 기본 정보
13:03
스레드의 생명 주기 - 설명
12:03
스레드의 생명 주기 - 코드
11:44
체크 예외 재정의
18:27
join - 시작
06:57
join - 필요한 상황
18:32
join - sleep 사용
04:03
join - join 사용
06:02
join - 특정 시간 만큼만 대기
04:19
문제와 풀이
03:45
인터럽트 - 시작1
08:19
인터럽트 - 시작2
16:08
인터럽트 - 시작3
11:58
인터럽트 - 시작4
07:05
프린터 예제1 - 시작
12:57
프린터 예제2 - 인터럽트 도입
03:01
프린터 예제3 - 인터럽트 코드 개선
02:39
yield - 양보하기
16:35
프린터 예제4 - yield 도입
03:29
정리
07:00
volatile, 메모리 가시성1
09:36
volatile, 메모리 가시성2
11:07
volatile, 메모리 가시성3
04:02
volatile, 메모리 가시성4
11:48
정리
03:40
출금 예제 - 시작
26:54
동시성 문제
13:44
임계 영역
09:49
synchronized 메서드
14:32
synchronized 코드 블럭
13:15
문제와 풀이
20:23
정리
11:05
LockSupport1
10:07
LockSupport2
10:55
ReentrantLock - 이론
15:45
ReentrantLock - 활용
10:21
정리
07:09
생산자 소비자 문제 - 소개
06:20
생산자 소비자 문제 - 예제1 코드
25:37
생산자 소비자 문제 - 예제2 코드
09:24
생산자 소비자 문제 - 예제2 분석
15:09
정리
03:54
Lock Condition - 예제4
11:48
스레드의 대기
20:25
중간 정리 - 생산자 소비자 문제
09:41
BlockingQueue - 예제6
11:56
정리
09:21
원자적 연산 - 소개
05:12
원자적 연산 - 시작
07:33
원자적 연산 - 성능 테스트
07:52
CAS 연산1
16:57
CAS 연산2
13:05
CAS 연산3
25:08
CAS 락 구현1
12:28
CAS 락 구현2
17:34
정리
13:41
정리
07:08
스레드를 직접 사용할 때의 문제점
11:48
Executor 프레임워크 소개
09:09
Runnable의 불편함
05:36
Future1 - 소개
13:12
Future2 - 분석
24:58
Future3 - 활용
09:19
Future4 - 이유
13:39
Future5 - 정리
04:47
Future6 - 취소
08:38
Future7 - 예외
09:02
문제와 풀이
08:36
정리
13:50
Executor 예외 정책
16:44
정리
11:10
다음으로
22:00
전체
253개
5.0
253개의 수강평
지식공유자님의 다른 강의를 만나보세요!
강의가 포함된 로드맵으로 학습해 보세요!
월 ₩15,400
5개월 할부 시
₩77,000