강의

멘토링

로드맵

Inflearn brand logo image
BEST
Programming

/

Programming Language

キム・ヨンハンの実戦Java - 高級編1、マルチスレッドと並行性

マルチスレッドと並行性を基礎から実務レベルまで深く学習します。

  • yh
자바
실습 중심
백엔드
김영한
Java
oop
thread
multithread
concurrent

学習した受講者のレビュー

こんなことが学べます

  • マルチスレッド

  • 同時実行性

  • スレッドプールとExecutorフレームワーク

  • プロセスとスレッド、スケジューリング、コンテキストスイッチング

国内開発分野累積受講生1位、
きちんと作ったキム・ヨンハンの本番Java

単にJava文法を知っていますか?これはできません!

元優雅な兄弟たち技術理事、累積受講生40万人突破
キム・ヨンハンがJava講義を作った理由

•••

「本当の実務に必要なきちんとした開発者を作る、きちんとしたJava講義を作りたかったのです」

実務を考えたJavaマルチスレッドとの同時性

これまで、私たちは「Java入門」「Java基本」 、「Java中級1、2 」を通じてJavaプログラミング基礎とオブジェクト指向の概念固め、その基盤の上に様々な中級機能を学びました。

今回学習する「Java上級1編」では、Javaマルチスレッド技術と同時性の問題を深く取り上げます。

  • Java マルチスレッドプログラミング (Java Multithread Programming)

  • 並行性(Concurrency)

  • プロセス(Process)とスレッド(Thread)、スケジューリング(Scheduling)

  • コンテキストスイッチング(Context Switching)

キム・ヨンハンの本番Javaロードマップ

この講義はキム・ヨンハンの実践Javaロードマップ5番目の講義で、Java基本文法やOOP(クラス、ジェネリック、コレクション、資料構造)などの中級概念と機能を学習した方を対象としています。

>>目的に合わせて効果的に学習できるようにJavaロードマップガイドをご紹介します。

「キム・ヨンハンの本番Java - 上級1編」講義は

本質的理解の重要性

Javaの文法と機能を単に知るだけではなく、その機能がなぜ必要であり、どのように実務に適用できるのかについて深く探求します。

実践的なアプローチ

単なる理論的な伝達ではなく、理解を助ける絵やサンプルコードを使ってJavaテクノロジーの必要性を段階的に理解します。また、さまざまな例を使用して、各技術が実務でどのように利用されるかを理解することができます。

私たちの目標は、単純な文法以上の本質です。

今回のJava上級1編講義では、マルチスレッドと同時性をCS基本機から始め、実務に必要な活用技術まで完全にマスターすることを目指しています。

なお、高級1編はこれまで公開された「キム・ヨンハンの実戦Java」シリーズの中で最も膨大な分量で構成されています。それだけ最初は概念をつかむことは難しいかもしれませんが、講義を通じてマルチスレッドと同時性のパラダイムをうまく備えていれば、今後プログラミングをする上で(どんな言語を書いても)ずっと活用できる基本機になってくれるでしょう。

皆さんが単にスレッドを知ることを超えて、実務に必要なJavaマルチスレッド技術と同時性問題を本当に深く理解し、また実務で正しく活用できるように教えていきます。

以降に学習する「Java高級2~3編」では

Java上級1編以降に続く上級2、3編(予定)では、I/O、ネットワーク、アノテーションを活用する方法を学びます。さらに、ラムダ、ストリーム、および最新の機能に焦点を当てたモダンなJavaを学び、実際の実務でベストプラクティスを探索するために必ず先行するべき能力を養うことを目指しています。

講義内容

  • CS理論の背景の上に

    スレッドの基本を習得します。

  • 並行性の問題を解決する方法と高度な同期技術を学びます。

  • 実務で使用するマルチスレッド技術を完全にマスターしてみます。

基盤を固めるCS理論学習

スレッドを扱う前に、概念を確実に理解するために必要なCS理論を学びます。プロセス、スレッド、マルチスレッド、オペレーティングシステムのスケジューリングなど、基盤となる重要な知識を尽くします。

プロセスとスレッド (Process & Thread)

マルチタスク(Multi-Tasking)

スケジューリング2(@ Schedule)

スレッドの基本

スレッドの作成と制御、スレッドの生成サイクル、メモリの可視性と並行性の問題の理解と解決など、並行性の問題を解決するより良い方法と高度な同期技術まで学習します。

スレッド制御

スレッドライフサイクル

メモリの可視性 Volatile

Synchronized 同期

ReentrantLock - 高度な同期

スレッド制御 - さまざまな例

スレッドの複数の高度な技術学習

スレッドを活用するときに理解する必要がある生産者 - 消費者の問題を学びます。この問題を解決するLock-Free技術であるCASの原理と、マルチスレッドの状況で活用できる同期コレクションの原理と活用法を一緒に学習します。

生産者 - 消費者の問題 (Producer-Consumer Problem)

CAS (Compare And Swap)

同期コレクション (Synchronized Collection)

実務で使用するマルチスレッド実践技術学習

Future、スレッドプール、Executorフレームワークの原則と実践的な活用方法まで、実際のJavaプログラミングに必要なマルチスレッドコアテクノロジを完全にマスターします。

Futureの動作原理

スレッドプールとExecutorフレームワーク - 原則

スレッドプールとExecutorフレームワーク - 実用化

「どんなことをもっと教えなければならないのかよりも、必ず知っておくべき内容が何なのかをさらに深く悩みました。」

今回の「キム・ヨンハンの本番Java Javaロードマップ」で私の目標は、本当の実務に必要な基本基盤がしっかり装備された実力ある開発者を作ることです。きちんと知って使用する際に役立つ概念を固めておくことで、今後のエンジニアとしての力量を育てられるようにお手伝いしたいと思います。この講義を通じて、多くの方々が今後進む基盤を、より簡単で、楽に、そして確実に積み重ねることができることを願っています。

こんな方に
おすすめです

学習対象は
誰でしょう?

  • 開発者就職準備生

  • Javaを勉強したが、基礎をきちんと固めたい方

  • 実務で必要なJavaをもっと深く理解したい開発者

前提知識、
必要でしょうか?

  • キム・ヨンハン氏の実践Java - 中級1、2編

  • キム・ヨンハンの実践Java - 基本編

こんにちは
です。

552,803

受講生

36,134

受講レビュー

8,952

回答

5.0

講座評価

24

講座

진짜 실무에 필요한 제대로 된 개발자가 될 수 있도록, 교육하는 것이 저의 목표입니다.

 

저의 개발 인생 이야기

EO 인터뷰 영상

개발바닥 - 시골 청년 개발왕 되다

취업과 이직에 대한 고민 해결

 

カリキュラム

全体

118件 ∙ (20時間 48分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

415件

5.0

415件の受講レビュー

  • 박종철님의 프로필 이미지
    박종철

    受講レビュー 34

    平均評価 4.7

    5

    8% 受講後に作成

    2024년 초복에 영한님 강의 오픈 알람이 너무 반가왔습니다. 늘 건강 잘 챙기시고 짱짱한 강의 계속 진행해 주시 길 바랍니다. 자바 실력, 손가락 실천이 '국룰' 이다~

    • 김영한
      知識共有者

      박종철님 첫 수강평 감사합니다 :) 즐겁게 공부하시고 또 크게 성장하는 2024년 되시길 응원합니다!

  • 인프런님의 프로필 이미지
    인프런

    受講レビュー 21

    平均評価 5.0

    5

    100% 受講後に作成

    예전에 학교에서 자바 스윙으로 게임만들면서 무지성으로 쓰레드를 생성하고 버그생겨서 고생했던 기억이 나네요 그땐 정말 쓰레드가 싫었는데.. 영한님 강의 덕분에 쓰레드가 이렇게 재밌는거였구나 생각이 듭니다. 방대한 내용이었지만 어려운 내용은 계속 반복해서 설명해주시면서 이해되고 제 머리속에 확실히 박혔습니다. 감사합니다! 특히 영한님의 강점은 어려운 기술을 설명하기 전에 기반이되는것부터 확실히 알려주시고 들어가는 건데, 이번 강의에서도 Future 인터페이스랑 Executor 정말 어려운 내용일줄 알았는데 알고보니 생산자소비자만 제대로 이해하니 정말 쉬웠습니다 감사합니다~

    • 김영한
      知識共有者

      인프런님 앞으로 멀티스레드를 즐겁게 사용하실 수 있겠네요 :) 응원합니다!

  • Marin Frog님의 프로필 이미지
    Marin Frog

    受講レビュー 27

    平均評価 5.0

    5

    5% 受講後に作成

    생계문제로 다른 언어와 사투중에 강의개설을 보고 왔습니다. **블레이드 같은 게임도 나왔는데 개설했으니 플레이 하러 여름휴가 가시는건 아닐런지요 ㅎㅎㅎ :) 일에 치이다 보니 강의가 밀리기 시작하다보니 나태함을 아셨는지 아직 갈길이 멀다라고 알려주시는듯 해서 눈치봐서 연차라도 쓰고 강의 달리며 연말전까지는 각잡고 완강해야겠습니다. 항상 유익한 강의 고맙습니다. ps. 설마.. JVM 까지 나오는건 아니겠죠? (하실지도?)

    • 김영한
      知識共有者

      Marin Frog님 고맙습니다 :) 멀티스레드와 동시성이 쉬운 내용이 아니다 보니, 최대한 쉽게 풀어서 설명하기 위해 그림도 많이 넣고, 내용도 많이 다듬었습니다 :) 그 만큼 시간과 에너지도 많이 사용했지만, 제가 오랜 시간에 걸쳐서 어렵게 배운 내용을 잘 정리하고, 그래서 다음 시대의 분들이 쉽고 빠르게 배울 수 있다는 생각에 또 힘이나네요 :) 저도 잘 충전하고 또 다음 강의도 열심히 준비하겠습니다 :) ps. 제가 좀 실용적인 부분들을 좋아해서, 실무와 관련이 있거나 실무에서 활용할 수 있는 기본 이론들을 주로 다룰 것 같아요 :) 그래서 JVM까지는 내려가지 않을 것 같아요 :)

  • 딩띵님의 프로필 이미지
    딩띵

    受講レビュー 6

    平均評価 5.0

    5

    33% 受講後に作成

    영한님 강의는 말해뭐해 정말 최고입니다. 스레드 개념이 이해되지 좌절 했는데, 강사님의 강의를 보면서 "아, 그래서 그때 회사에서 그렇게 설명했구나!" 하고 깨닫게 되며 이해도가 높아졌습니다 부끄럽지만, 3년차지만 기본기가 부족하다는 걸 느껴 처음부터 다시 공부하고 있습니다. 배워야 할 양은 많지만 꾸준히 공부하는 습관이 잡히지 않아 마음은 조급하고 죄책감들어 울면서 공부를 했습니다 하지만 강의평과 영한님이 남겨주신 댓글을 보며 힘을 얻었고, 강의 진도율에 따른 메시지?를 보면서 계속 마음을 다잡고 있습니다. 공부가 쉽지는 않지만, 꾸준히 노력하며 앞으로 나아가겠습니다! 여담이지만, 가족들 얼굴보다 영한님 얼굴을 더 자주 봐서 그런지 이제 가족처럼 느껴지기도 하네요. 😊

    • 김영한
      知識共有者

      딩띵님 어려운 시기를 잘 극복하고 계시네요. 기본기를 탄탄히 다지면서 꾸준히 학습하시면 분명 더 좋은 개발자가 되실 거라 믿습니다. 가족 같은 느낌이라니, 열심히 공부하시는 것이 느껴지네요 ㅎㅎ. 항상 응원합니다!

  • JJangguyubin님의 프로필 이미지
    JJangguyubin

    受講レビュー 5

    平均評価 5.0

    5

    30% 受講後に作成

    ¥9,036

    yhの他の講座

    知識共有者の他の講座を見てみましょう!

    似ている講座

    同じ分野の他の講座を見てみましょう!