인프런 영문 브랜드 로고
인프런 영문 브랜드 로고
BEST
개발 · 프로그래밍

/

백엔드

실전! 스프링 데이터 JPA

스프링 데이터 JPA는 기존의 한계를 넘어 마치 마법처럼 리포지토리에 구현 클래스 없이 인터페이스만으로 개발을 완료할 수 있습니다. 그리고 반복 개발해온 기본 CRUD 기능도 모두 제공합니다. 스프링 데이터 JPA 실무 노하우를 전해드립니다.

(5.0) 수강평 864개

수강생 15,543명

Thumbnail
새소식 목록
관리
작성
김영한님의 프로필 이미지

수정됨

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성 오픈 일정 확정

안녕하세요. 여러분
김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
오픈 일정이 7월 15일(월)로 확정 되었습니다.

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
* 강의 시간: 20시간 48분
* 강의 수: 118강
* 강의 PDF 자료: 약 500장
* 그림: 270장

고급1편은 멀티스레드와 동시성을 CS 기본기부터 실무에 필요한 활용 기술까지 완전히 마스터하는 것을 목표로 합니다. 그리고 복잡한 멀티스레드를 최대한 쉽게 설명하기 위해 무려 270장의 그림이 들어갑니다!

[앞으로의 계획]
고급편은 1,2,3편으로 나누어 출시될 예정입니다.
* 고급 1편: 멀티스레드와 동시성 (7/15)
* 고급 2편: I/O, 네트워크, 리플렉션, 애노테이션 (10월 중 예정)
* 고급 3편: 람다, 스트림, 모던 자바 (12월 중 예정)

[강의 소개]

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

강의 목표

단순히 스레드의 기초를 아는 것을 넘어서, 실무에 필요한 자바 멀티스레드 기술과 동시성 문제를 정말 깊이있게 제대로 이해하고, 또 실무에서 제대로 활용할 수 있게 가르쳐 드리겠습니다.

강의 내용

기반을 다지는 CS 이론 학습
* 프로세스와 스레드
* 멀티태스킹
* 스케줄링2

스레드의 기본기
* 스레드 제어
* 스레드 생명 주기
* 메모리 가시성, volatile
* synchronized 동기화
* ReentrantLock - 고급 동기화
* 스레드 제어 - 다양한 예제

스레드의 고급 기술들
* 생산자 소비자 문제
* CAS
* 동기화 컬렉션

실무에서 사용하는 멀티스레드 실전 기술들
* Future의 작동 원리
* 스레드 풀과 Executor 프레임워크 - 원리
* 스레드 풀과 Executor 프레임워크 - 실전 활용


[강의 전체 목차]

1. 프로세스와 스레드 소개
* 멀티태스킹과 멀티프로세싱
* 프로세스와 스레드
* 스레드와 스케줄링
* 컨텍스트 스위칭

2. 스레드 생성과 실행
* 프로젝트 환경 구성
* 스레드 시작1
* 스레드 시작2
* 데몬 스레드
* 스레드 생성 - Runnable
* 로거 만들기
* 여러 스레드 만들기
* Runnable을 만드는 다양한 방법
* 문제와 풀이
* 정리

3. 스레드 제어와 생명 주기1
* 스레드 기본 정보
* 스레드의 생명 주기 - 설명
* 스레드의 생명 주기 - 코드
* 체크 예외 재정의
* join - 시작
* join - 필요한 상황
* join - sleep 사용
* join - join 사용
* join - 특정 시간 만큼만 대기
* 문제와 풀이

4. 스레드 제어와 생명 주기2
* 인터럽트 - 시작1
* 인터럽트 - 시작2
* 인터럽트 - 시작3
* 인터럽트 - 시작4
* 프린터 예제1 - 시작
* 프린터 예제2 - 인터럽트 도입
* 프린터 예제3 - 인터럽트 코드 개선
* yield - 양보하기
* 프린터 예제4 - yield 도입
* 정리

5. 메모리 가시성
* volatile, 메모리 가시성1
* volatile, 메모리 가시성2
* volatile, 메모리 가시성3
* volatile, 메모리 가시성4
* 자바 메모리 모델(Java Memory Model)
* 정리

6. 동기화 - synchronized
* 출금 예제 - 시작
* 동시성 문제
* 임계 영역
* synchronized 메서드
* synchronized 코드 블럭
* 문제와 풀이
* 정리

7. 고급 동기화 - concurrent.Lock
* LockSupport1
* LockSupport2
* ReentrantLock - 이론
* ReentrantLock - 활용
* ReentrantLock - 대기 중단
* 정리

8. 생산자 소비자 문제1
* 생산자 소비자 문제 - 소개
* 생산자 소비자 문제 - 예제1 코드
* 생산자 소비자 문제 - 예제1 분석 - 생산자 우선
* 생산자 소비자 문제 - 예제1 분석 - 소비자 우선
* 생산자 소비자 문제 - 예제2 코드
* 생산자 소비자 문제 - 예제2 분석
* Object - wait, notify - 예제3 코드
* Object - wait, notify - 예제3 분석 - 생산자 우선
* Object - wait, notify - 예제3 분석 - 소비자 우선
* Object - wait, notify - 한계
* 정리

9. 생산자 소비자 문제2
* Lock Condition - 예제4
* 생산자 소비자 대기 공간 분리 - 예제5 코드
* 생산자 소비자 대기 공간 분리 - 예제5 분석
* 스레드의 대기
* 중간 정리 - 생산자 소비자 문제
* BlockingQueue - 예제6
* BlockingQueue - 기능 설명
* BlockingQueue - 기능 확인
* 정리

10. CAS - 동기화와 원자적 연산
* 원자적 연산 - 소개
* 원자적 연산 - 시작
* 원자적 연산 - volatile, synchronized
* 원자적 연산 - AtomicInteger
* 원자적 연산 - 성능 테스트
* CAS 연산1
* CAS 연산2
* CAS 연산3
* CAS 락 구현1
* CAS 락 구현2
* 정리

11. 동시성 컬렉션
* 동시성 컬렉션이 필요한 이유1 - 시작
* 동시성 컬렉션이 필요한 이유2 - 동시성 문제
* 동시성 컬렉션이 필요한 이유3 - 동기화
* 동시성 컬렉션이 필요한 이유4 - 프록시 도입
* 자바 동시성 컬렉션1 - synchronized
* 자바 동시성 컬렉션2 - 동시성 컬렉션
* 정리

12. 스레드 풀과 Executor 프레임워크1
* 스레드를 직접 사용할 때의 문제점
* Executor 프레임워크 소개
* ExecutorService 코드로 시작하기
* Runnable의 불편함
* Future1 - 소개
* Future2 - 분석
* Future3 - 활용
* Future4 - 이유
* Future5 - 정리
* Future6 - 취소
* Future7 - 예외
* ExecutorService - 작업 컬렉션 처리
* 문제와 풀이
* 정리

13. 스레드 풀과 Executor 프레임워크2
* ExecutorService 우아한 종료 - 소개
* ExecutorService 우아한 종료 - 구현
* Executor 스레드 풀 관리 - 코드
* Executor 스레드 풀 관리 - 분석
* Executor 전략 - 고정 풀 전략
* Executor 전략 - 캐시 풀 전략
* Executor 전략 - 사용자 정의 풀 전략
* Executor 예외 정책
* 정리

감사합니다.

댓글