
Spring Security OAuth2
leaven
Spring Security OAuth2の基本概念から、APIの使い方と内部アーキテクチャを学びます。また、OAuth2 Client、OAuth2 Resource Server、Authorization Serverを統合して連携する方法を見て、独自の認可サーバーを構築し、これによりOAuth2サービスを実装する方法を学習します。
中級以上
Java, Spring, Spring Boot
Javaの並行性メカニズムとマルチスレッド技術を深く扱い、実務に直面するさまざまな並列処理問題を解決するために必要な知識とスキルを学びます。基本的なスレッド管理から始めて、高度な同期技術、スレッドプールの使用方法、およびJavaの同時実行関連クラスを深く学習します
受講生 1,343名
難易度 初級
受講期間 無制限


学習した受講者のレビュー
5.0
피터
とてもよく聞きました!!!! よい講義でした!
5.0
정회운
同時性、並列性など講義してくださる内容一つ一つすべて理解がされています。知らなかった部分、混乱した部分を完璧に跳ね越えて行くことができました。本当に良い講義をしてくれてありがとう。
5.0
열심히 공부하겠습니다!
スレッドの概念が足りなかったら、無条件に強調する講義です!まだ頑張るには遠いけど本当にお金が惜しくない講義です!こんな方が射手でおられたらどれくらい良かったでしょうか..!とにかくイチオシです!次の講義も楽しみにしています!セキュリティ講義もよく見ました〜後でDB関連講義も進んで頂ければ幸いです!
Javaの並行性の理解
さまざまなマルチスレッドパターンを習得する
同期技術と種類の理解
非同期プログラミング理論と実践
リアクティブプログラミングのための基礎となる
マルチコアプロセッサの普遍化と分散コンピューティング環境の進歩により、並行性プログラミングの重要性はこれまで以上に高まっています。 Javaはこれらの変化に合わせて強力な並行性プログラミング機能を提供します。
このコースでは、現代のコンピューティング環境で不可欠な並行性プログラミングをJava言語で深く学ぶことができます。
Javaメモリモデルの理解から始めて、スレッド(Thread)の管理、同期(Synchronization)技術、デッドロック(Deadlock)解決戦略、パラレルストリーム(Parallel Streams)、非同期プログラミング機能であるCompletableFutureなど、高度な並行性機能に至るまで、深い知識を得ることができます。
また、理論的な知識伝達だけでなく、実際のコーディングの例といくつかの事例を通じて理論を実際のトラブルシューティングに適用する方法を教えており、volatileキーワード、synchronizedブロック、ReentrantLocks、Conditionオブジェクトなど、Javaの同期メカニズムを直接経験することになります。
さらに、Atomic変数、CountDownLatch、CyclicBarrier、SemaphoreなどのJavaの同時実行ユーティリティを使用する方法を学びます。さらに、並列処理とパフォーマンス最適化戦略も重要な学習トピックです。
さらに、リアクティブプログラミングの基礎と基礎知識を築くための基礎としての役割を果たし、Javaの次世代スレッドモデルであるVirtual Threadを準備する重要な基礎になると確信しています。
本講座はJava同時性に初めて接する入門者から基礎的な知識や使用経験はありますが、より深い知識の習得とJava同時性の核心原理、内部構造、動作方式などを深く理解し、これを応用したい中・上級者のために製作しました。
このレッスンは、並行性プログラミングのための重要なテーマであり、Javaスレッドとの同期、並行性プログラミング、および非同期プログラミングの3つの軸を中心にレッスンを行います。
Javaでは、スレッドはプロセス内の軽量プロセスであり、プログラムの同時実行フローを意味し、Threadクラスを拡張するか、Runnableインタフェースを実装することによって生成されます。これにより、開発者は複数のスレッドを同時に実行して効率を向上させることができます。スレッドの作成後、start() メソッドを呼び出してスレッドを実行します。スレッドのライフサイクル管理は、join()、sleep()、interrupt() などの基本 API を通じて行われます。スレッド活用はマルチタスクとリソース共有の最適化に重要な役割を果たし、複数のスレッドが同時に実行されるときにデータの一貫性と状態管理のために同期が必要です。
/builder/e3ef2dd4-832a-46f0-b923-48dde4e4ec09/image.png?w=960)
/builder/092e0398-7e8f-4d82-a768-4b087d071fe5/image.png?w=960)
同期はマルチスレッド環境で重要な概念であり、共有リソースへの同時アクセスを制御してデータの整合性を保証します。 Javaでは、synchronizedキーワードを使用してメソッドまたはブロックを同期でき、特定の時点で1つのスレッドのみが同期コード領域にアクセスできます。さらに、Lockインタフェースと実装クラスはより細かい同期制御を可能にし、ReentrantLockは最も代表的な実装であり、再入可能なロック機能を提供します。
Javaはさまざまな同期ツールを提供し、CountDownLatch、CyclicBarrier、Semaphoreなどはスレッド間の連携のための高度な同期メカニズムを提供します。これらのツールは、スレッドの実行順序を制御したり、特定の条件が満たされるまでスレッドを待機するなどの複雑な同期操作を簡素化します。このようなJavaのスレッドと同期機能は、マルチスレッドアプリケーションの開発に不可欠な理解と活用が必要な重要な部分です。
/builder/e7dc8103-18d4-4cb0-be3f-9cd3702f3851/image.png?w=960)
/builder/bb87d6b6-529b-424b-9bcc-d385c8b8bf7a/image.png?w=960)
それでは、まずJavaスレッドの全体的な概念と並行性の問題と同期の種類とテクニックを見てみましょう。
並行性プログラミングでは、スレッドプールはExecutorフレームワークを介して実装され、複数のスレッドを効率的に管理および再利用することができます。これはExecutorService、ScheduledExecutorServiceなどのインタフェースで構成され、CallableおよびFutureインタフェースを利用して戻り値を持つ操作を処理し、結果を非同期的に受け取ることができます。
/builder/ff4b8d17-7081-4eb8-ae18-02e92431b8f0/image.png?w=960)
/builder/08a607de-55b4-4d34-a329-b206bd6e81ed/image.png?w=960)
ExecutorServiceはスレッドプールの実行と管理を担当し、submit()メソッドを使用してタスクをスレッドプールに送信し、shutdown()またはshutdownNow()メソッドを介してスレッドプールを安全に中断および終了できます。
さらに、Executorsクラスはさまざまな種類のスレッドプールを簡単に作成できるファクトリメソッドを提供し、ThreadPoolExecutorはスレッドプールの具体的な実行メカニズムを提供し、マルチタスク処理でパフォーマンスとリソースの利用を最適化できます。
これらのスレッドプールに関連する並行性プログラミングの理解は、Javaベースのマルチスレッドアプリケーションの開発にとって不可欠な要素であり、効率的なリソース管理と高性能アプリケーションの実装にとって重要です。
/builder/78163d3f-019f-4656-9d78-d563ed2a22e2/image.png?w=960)
このパートでは、マルチスレッド環境で並行性プログラミングを簡単かつ安全に実装する方法を学びます。
非同期プログラミングは、複雑なアプリケーションにとって不可欠な並行性パラダイムであり、同期および非同期スキームとそれに関連するBlockingとNon-Blocking呼び出しの概念を通じてタスクの実行フローを構造化します。
これは、タスクが即座に完了しないときにリソースが無駄にならないようにし、プログラムが他のタスクを続行できるようにする概要と構造を提供します。
/builder/76d44ec3-039a-4b6b-9c64-2418ed4bb395/image.png?w=960)
Javaでは、CompletableFutureは非同期プログラミングのためのAPI構造を提供し、非同期操作の開始、実行、および結果操作のためのさまざまなメソッドを提供し、これは単一の結果操作から複数の非同期操作の組み合わせまで幅広く適用できます。
さらに、例外処理のためのメカニズムを含む、ジョブの完了処理に加えて、待機およびキャンセル処理機能により、より堅牢で柔軟な非同期プログラミングを可能にします。
このように、非同期プログラミングはシステムの反応性を高め、リソースをより効率的に活用し、アプリケーションのパフォーマンスを最適化するのに大きな役割を果たします。
/builder/4ed146b0-4958-417c-9503-bc0b1604166f/image.png?w=960)
/builder/e8b6ac4b-1a50-4426-992e-7593c78aca1b/image.png?w=960)
/builder/7508834c-804c-438a-af8c-6935e16b41e4/image.png?w=960)
このパートでは、CompletableFutureを活用した非同期プログラミングの全体的な内容を見ていきます。
セクション 1. オペレーティングシステムの基本
オペレーティングシステムの基本原理とマルチタスク、プロセスとスレッドの違いを学びます。
Parallel & Concurrent、Context Switch、CPU Bound & I/O Bound、ユーザーモード & カーネルモードなど、コアなオペレーティングシステムの概念を通じて同時実行プログラミングの基礎を理解し、スケジューリングの基本原則を学びます
セクション2. Java Thread Fundamentals - スレッドの作成と実行構造
Javaでスレッドを作成、実行、終了する方法を詳しく学びます。
スレッドのライフサイクルを各状態ごとにシミュレートしながら、各状態ごとにどのような特徴と実行フローで持っているかを段階的に学習します。
セクション3. Java Thread Fundamentals - スレッド基本API
Javaのスレッド関連APIの詳細な概念と構造について説明します。
sleep、join、interrupt、priority などマルチスレッド実装において必ず知るべき概念とネイティブメソッド実行による JVM と OS 間の接続構造やフローについて深く学習します。
セクション4. Java Thread Fundamentals - スレッドの活用
実際のプロジェクトでスレッドを効果的に使用する方法を学びます。
ハングやリカバリなどのトピックを扱い、スレッドグループとスレッドローカル、スレッド例外処理などについて学習します。
セクション 5. Synchronization Fundamentals - 同期の概念
同期の基本概念とマルチスレッド環境での重要性を深く学びます。
同期とCPUとの関係、Critical Seciton、安全なスレッド構成など、同期技術を理解するための基本的な概念を深く学習します。
セクション 6. Synchronization Fundamentals - 同期技術
同期のさまざまな手法とその適用方法を詳しく説明します。
同期技術であるミューテックス、セマフォ、モニター、Spin Lockなど、ロックの概念と同期を使用したデータ保護と一貫性の維持戦略を学びます。
セクション7. Java Synchronization
Javaが提供する同期メカニズムを詳細に学習します。
Synchronizedの概念、条件変数、volatile、デッドロックなどを含むJavaが提供するさまざまな同期メカニズムをカバーします。
セクション8. Java Locks
Javaのロックインタフェースとさまざまな種類のクラスを学び、Lockの使い方とLockによる同期の問題を解決する方法を学びます。
特に、書き込みロックと読み取りロックの特徴と長所と短所などを調べて、ロックの条件変数活用法と実務例を通じた正確な使用方法を習得できるようにします。
セクション9. Java同期ツール
Javaが提供するさまざまな同期ツールを学びます。
Atomic Variables(シングルオペレーション変数)、Atomic * FieldUpdater(シングルオペレーションフィールドアップデート)、カウントダウンラッチ、サイクリックバリアなどのツールを使用した実際の適用方法を学習します。
。セクション10. Java同時実行フレームワーク
Javaが提供するExecutor、ExecutorService、およびExecutorsクラスの概念と特徴を理解し、スレッドプールを使用してマルチスレッドアプリケーションを効率的に管理および最適化する方法を学びます。
Futureインターフェースを介して非同期操作の結果をどのように処理し管理するかについての実践的な知識を提供します。
これらの概念を実際の事例と実践を通して適用することで、複雑な並行性の問題を解決し、応答性とパフォーマンスに優れたJavaアプリケーションを開発することができます。
セクション 11. ThreadPoolExecutor
ThreadPoolExecutorの原理と使い方を詳しく学びます。
スレッドプールの作成、管理、最適化の方法を説明し、スレッドプールを使用した効率的なリソース管理、例外処理の管理方法などについて学び、アーキテクチャとフローチャート全体を見てください。
セクション 12: CompletableFuture
Javaの非同期プログラミング機能であるCompletableFutureについて詳しく説明します。
Java 8で導入されたこの強力なクラスにより、非同期プログラミングの基本概念から始めて、実際のワークフローを構成および管理する方法を学ぶことができます。
各セッションは、CompletableFutureのさまざまなメソッドとユースケースを詳細に説明し、例外処理、結果の組み合わせ、および非同期タスクの連鎖などの実用的なテクニックを学びます。
現職のJava開発者
SI/SM/ソリューション/Mobile/Front&Back-end のさまざまなプロジェクト体験
Architect/PM/PL として役割を果たす
学習対象は
誰でしょう?
Java同時実行プログラミングの世界を体験したい方
スレッドの全体的な概念を確実に確立したい方
マルチスレッド環境でアプリケーションを開発したい方
同期技術と種類の明確な概念を知りたい人
Java非同期プログラミングについて知りたい人
前提知識、
必要でしょうか?
Javaの基礎
Java関数型プログラミングとラムダの使い方
インフラン認証
キャリア認証
10,408
受講生
388
受講レビュー
1,213
回答
4.8
講座評価
5
講座
様々なプロジェクトでウェブ/モバイル/ソリューション製品の開発に関連する業務を遂行しており、分析/設計/開発の役割を担ってきました。
公共機関、教育プログラム、企業プロジェクト、ショッピングモールなどのウェブ開発およびソリューションプログラム、フレームワーク、オープンソース連動などのアーキテクチャ設計や構造的な高度化・改善などを行ってきており、開発やPLなどの役割を務めました。
多様なオープンソースと数々の技術的経験を通じてウェブの全般的な技術トレンドを習得しており、開発経験を重ねるにつれ、単なる要求事項の機能実装にとどまらず、よりOOP的な構造のソフトウェアとして安定性と性能を考慮したアーキテクチャ設計とチューニング技術を取り入れ、持続的により優れたソフトウェアを完成させるための研究と開発実務に責任を持って取り組んでいます。
全体
103件 ∙ (44時間 9分)
講座資料(こうぎしりょう):
1. イントロ
04:40
2. カリキュラム紹介
12:57
4. プロセス & スレッド
29:34
5. 並列 & 並行
25:04
6. コンテキストスイッチ
26:05
8. ユーザーモード & カーネルモード
18:13
10. スレッド作成
22:12
11. スレッド実行および終了 – 1
31:36
12. スレッド実行及び終了 – 2
12:38
13. スレッドのライフサイクルと状態
40:55
全体
60件
4.9
60件の受講レビュー
受講レビュー 7
∙
平均評価 5.0
5
スレッドの概念が足りなかったら、無条件に強調する講義です!まだ頑張るには遠いけど本当にお金が惜しくない講義です!こんな方が射手でおられたらどれくらい良かったでしょうか..!とにかくイチオシです!次の講義も楽しみにしています!セキュリティ講義もよく見ました〜後でDB関連講義も進んで頂ければ幸いです!
はい 今回はスレッドにコンセプトをしっかり固め、さらに一歩成長する底になりますように ありがとうございます!
受講レビュー 17
∙
平均評価 5.0
5
スプリングセキュリティの時から聞いているのですが、講義資料にディテールや入念な説明が浄水院講師様の強みだと思います。 !!!こういう講義を準備するということ自体が多い品が入る作業ですが、毎回ありがとうございます。ジュニア開発者として成長する過程で、必ず聞かなければならない講義ですね!
はい、ありがとう スファンム様も成長し続ける開発者になることを心から応援します!
受講レビュー 15
∙
平均評価 5.0
受講レビュー 1
∙
平均評価 5.0
5
一生懸命勉強してマスターします。
受講レビュー 32
∙
平均評価 5.0
知識共有者の他の講座を見てみましょう!
同じ分野の他の講座を見てみましょう!