こんにちは
私の名前はGolovach Ivanです。特別なコースウェビナー「Javaでのマルチコアプログラミング」を行うのは
2回目です。 この記事では、コースプログラムと、Javaでのマルチスレッド化に最も役立つリンクを提案します。
オンライン教育プラットフォームudemy.comで
Scala for Java Developersコースも教え
ています(Coursera / EdXに似ています)。
コースの概要:9月1日に始まり、1週間に2回(月曜日から木曜日)19.00-22.00(モスクワ時間)にウェビナーで実施されます。
1.モジュール#1:ハードウェアと新しいJMMの間1.1モジュールプログラム1.2モジュールに関する資料2.モジュール#2:java.util.concurrent2.1モジュールプログラム2.2モジュールの資料3.モジュール#3:Fork / Join Framework + Parallel Streams3.1モジュールプログラム3.2モジュールの資料4.モジュール#4:「非古典的なアーキテクチャ」4.1モジュールプログラム4.2モジュールの資料モジュール#1:ハードウェアと新しいJMMの間
モジュールプログラム- 「鉄」
- 最新のプロセッサ、キャッシュのアーキテクチャ
- メモリバリア、読み取り/書き込みの並べ替え、キャッシュコヒーレンスプロトコル
- 「数学」/ Javaメモリモデル
- 新しいJMM-指紋の説明
- Thread.start()/ join()、volatile、final、CAS、lazySet、weakCompareAndSet、jucのクラスが保証するもの
- 新しいJMM形式仕様:エッジの前に起こる、コミットメントプロトコル
- プリミティブ/構造
- ダブルチェックロック(破損)、安全な公開
- synchronized + Object.wait()/ notify()/ notifyAll()-HotSpotに実装されている使用方法、保証内容
- デッカーのアルゴリズム、ピーターソンのアルゴリズム、Lamport Bakery algotithmを販売しています。
モジュールの資料- 「鉄」に関する文献(開始)
- ハードウェアに関する資料(深刻な人向け)
- Javaメモリモデルに関する資料(初心者向け)
- Javaメモリモデルに関する資料(深刻な人向け)
モジュール#2:java.util.concurrent
モジュールプログラム- マルチスレッドコレクション
- BlockingQueue-s
- ConcurrentMap-s:ConcurrentHashMap、ConcurrentSkipListMap
- 書き込み時の構造:CopyOnWriteArrayList、CopyOnWriteArraySet
- 「シンクロナイザー」
- ロック、条件、ReentrantLock、ReentrantReadWriteLock、セマフォ
- CountDownLatch、CyclicBarrier、Exchanger、Phaser
- スレッドプール+未来
- エグゼキューター、ExecutorService、ThreadPoolExecutor、ScheduledExecutorService、ScheduledThreadPoolExecutor
- callable、future、jucFutureに欠けているもの
- カーネルjuc:AbstractQueuedSynchronizer + LockSupport
- JucAQS内部ユニット
- jucAQS + LockSupportでのプリミティブの構築
モジュールの資料- java.util.concurrentに関する文献(開始用)
- java.util.concurrentに関する文献(深刻な人向け)
モジュール#3:Fork / Join Framework + Parallel Streams
モジュールプログラム- フォーク/結合フレームワーク
- 再帰的並列化のスタイルで問題を解決する
- イディオムと典型的なタスク
- フォーク/参加フレームワーク-内部にあるもの
- 並列ストリーム
- Java 8-java.util.Streamを介したデータの操作
- java.util.Stream.parallel()-その「内部」
モジュールの資料- フォーク/参加フレームワークの資料(初心者向け)
- Fork / Join Framework Literature(まじめな人向け)
- パラレルストリームに関する文献(初心者向け)
モジュール#4:「非古典的なアーキテクチャ」
モジュールプログラム- ノンブロッキングアルゴリズム
- Jucatomicパッケージ:AtomicXXX、AtomicXXXArray、AtomicXXXFieldUpdater、AtomicStampedReference、AtomicMarkableReference
- 分類:ブロッキング、ノンブロッキング、ロックフリー、ウェイトフリー、障害物なし
- メインデータ構造のノンブロッキング実装:スタック、キュー、デキュー、ハッシュテーブル、ツリーマップ
- メッセージベースのアーキテクチャ(Akka)
- あっか図書館
- 基本的なテンプレート、典型的なアーキテクチャ
- メッセージングベースのアーキテクチャの長所と短所
- ソフトウェアトランザクションメモリ(STM)
- Clojure.langライブラリ*
- トランザクションメモリアーキテクチャの長所と短所
- 永続的なデータ構造
- 永続的なデータ構造の長所と短所
- 基本的なデータ構造の永続的な実装
- Pcollectionsライブラリ
モジュールの資料- ノンブロッキングアルゴリズムに関する文献(開始用)
- ノンブロッキングアルゴリズムに関する文献(深刻な人向け)
- メッセージングベースのアーキテクチャに関する文献(初心者向け)
- メッセージングベースのアーキテクチャに関する文献(深刻な人向け)
- 永続的データ構造の資料(初心者向け)
- 永続的なデータ構造に関する文献(深刻な人向け)
一般文学
前のセクションでは、特定のモジュールの特定のトピックに関するリンクを見ましたが、文字通り全体を読む価値がある3つの非常に優れた本があります。 私は「それらを章に引き込みたい」のではありませんでした。
連絡先
コース費用
-8月9日より前に支払われた場合-375ドル
-8月16日より前に支払われた場合-$ 400
-8月23日より前に支払った場合-425ドル
-8月30日より前に支払われた場合-450ドル
Javaトレーニングをオンラインで行い(
プログラミングコースはこちら)
、Java Coreコースの再設計
の一環としてトレーニング資料の一部を公開し
ています 。
この記事では、視聴者の講義のビデオ録画を
youtubeチャンネルで見ることができます。おそらく、
チャンネルのビデオがより体系化され
ています 。
次の連絡先(またはコメント)ですべての質問に回答させていただきます。
スカイプ:GolovachCourses
メール:GolovachCourses@gmail.com