Spring入門 - コードで学ぶSpring Boot、Web MVC、DBアクセス技術
Spring入門者が例を作成しながら、Spring Webアプリケーションの開発全体をすばやく学ぶことができます。

キム・ヨンハンの実戦Java - 上級1編、マルチスレッドと同時性オープン日程確定
こんにちは。
キム・ヨンハンの実戦Java - 上級1編、マルチスレッドと同時性
オープン日程が7月15日(月)に確定しました。
キム・ヨンハンの実戦Java - 上級1編、マルチスレッドと同時性
*講義時間:20時間48分
*講義数:118講義
*講義PDF資料:約500枚
*画像:270枚
上級1編はマルチスレッドと同時性をCS基本機から実務に必要な活用技術まで完全にマスターすることを目指しています。そして複雑なマルチスレッドをできるだけ簡単に説明するために、なんと270枚の絵が入ります!
【これからの計画】
高級編は1,2,3編に分けて発売される予定です。
*上級1編:マルチスレッドと並行性(7/15)
*高度2編:I/O、ネットワーク、リフレクション、アノテーション(10月中予定)
*高級3編:ラムダ、ストリーム、モダンジャワ(12月中予定)
【講義紹介】
キム・ヨンハンの実戦Java - 上級1編、マルチスレッドと同時性
講義目標
単にスレッドの基礎を知ることを超えて、実務に必要なJavaマルチスレッド技術と同時性問題を本当に深く理解し、また実務できちんと活用できるように教えていきます。
講義内容
基盤を固める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メモリモデル(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 - プロキシの導入
* Java並行性コレクション1 - synchronized
* Java同時性コレクション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 例外ポリシー
*整理
ありがとうございます。
無料




