こんにちは
私の名前はGolovach Ivanです。小さな教育会社を率いています。
オンラインプログラミングコースを実施してい
ます 。
オンライン教育プラットフォームudemy.comで
Scala for Java Developersコースも教え
ています(Coursera / EdXに似ています)。
コミュニティの意見を聞きたい
- コースプログラム「Javaでのマルチコアプログラミング」
- コースの文学
コースの概要:
4月28日に始まり (5月の休日のため、5月15日に延期されます)、週2回19.00-22.00でウェビナーモードで実施され、2.5時間(= 40講義時間)の16講義で構成され、各講義が行われますJava Junior / Middle向けに設計された高度なタスク。
コースプログラム
モジュール#1:ハードウェアと数学、プリミティブの間- 「鉄」
- 最新のプロセッサ、キャッシュのアーキテクチャ
- メモリバリア、読み取り/書き込みの並べ替え、キャッシュコヒーレンスプロトコル
- 「数学」/ Javaメモリモデル
- 新しいJMM-指紋の説明
- Thread.start()/ join()、volatile、final、CAS、lazySet、weakCompareAndSet、jucからのクラスの保証
- 新しいJMM形式仕様:エッジの前に起こる、コミットメントプロトコル
- プリミティブ/コンストラクト
- ダブルチェックロック(破損)、安全な公開
- synchronized + Object.wait()/ notify()/ notifyAll()-HotSpotに実装されている使用方法、保証内容
- 独自の実装:Dekkerのアルゴリズム、Petersonのアルゴリズム、Lamport Bakery algotithm
モジュール#2:java.util.concurrent(Java 5)- マルチスレッドコレクション
- 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でプリミティブを構築する
モジュール#3:Fork / Join Framework(java 7)+ Parallel Streams(Java 8)- フォーク/結合フレームワーク
- 再帰的並列化のスタイルで問題を解決します
- イディオムと典型的なタスク
- フォーク/参加フレームワーク-内部にあるもの
- 並列ストリーム
- Java 8-java.util.Streamを介したデータの操作
- java.util.Stream.parallel()-その「内部」
モジュール#4:「非古典的なアーキテクチャ」- ノンブロッキングアルゴリズム
- jucatomicパッケージ:AtomicXXX、AtomicXXXArray、AtomicXXXFieldUpdater、AtomicStampedReference、AtomicMarkableReference
- 分類:ブロッキング、ノンブロッキング、ロックフリー、ウェイトフリー、障害物なし
- 基本データ構造のノンブロッキング実装:スタック、キュー、デキュー、ハッシュテーブル、ツリーマップ
- メッセージングベースのアーキテクチャ(Akka)
- あっか図書館
- 基本的なテンプレート、典型的なアーキテクチャ
- メッセージングベースのアーキテクチャの長所と短所
- ソフトウェアトランザクションメモリ(Clojure)
- clojure.langライブラリ*
- トランザクションメモリアーキテクチャの長所と短所
- 永続的なデータ構造
- 永続的なデータ構造の長所と短所
- 基本的なデータ構造の永続的な実装:スタック、キュー、デキュー、ハッシュテーブル、ツリーマップ
- ライブラリ:clojure.lang。*、pcollections
文学
本記事ブログ連絡先
Javaトレーニングをオンラインで行い(
プログラミングコースはこちら)
、Java Coreコースの再設計
の一環としてトレーニング資料の一部を公開し
ています 。
この記事では、視聴者の講義のビデオ録画を
youtubeチャンネルで見ることができます。おそらく、
チャンネルのビデオがより体系化され
ています 。
スカイプ:GolovachCourses
メール:GolovachCourses@gmail.com