並行プログラミングは、Javaプログラマーにとって最も重要なスキルの1つであり、習得するのが最も難しいスキルの1つです。プログラマーはコンピューターの最下位レベルの動作原理を深く理解する必要があります。同時に、プログラマーは明確なロジックと注意深い思考を必要とするため、効率的で安全で信頼性の高いマルチスレッドコンカレントプログラムを作成できます。
[JAVAエンジニアは並行プログラミングの知識を知っている必要があります]
- 現在、企業のインタビューのほぼ100%で同時プログラミングのインタビューが必要です。特にインターネット企業では、同時プログラミングの要件が高く、同時プログラミングの能力が職場での足掛かりになっています。
- 今はモバイルインターネットとビッグデータの時代です。アプリケーションプログラムのパフォーマンス、処理能力、処理の適時性はより厳しいものです。従来のシリアル化プログラミングでは、既存のサーバーのパフォーマンスを十分に活用できません。
- 並行プログラミングは、ほとんどすべてのフレームワークの基礎となる基盤であり、並行プログラミングをよく理解することで、さまざまなフレームワークを学ぶことができます。独自のプログラム実行、インターフェース応答、およびバッチ処理をより効率的にするには、並行プログラミングを使用する必要があります。
- 並行プログラミングは中高年のプログラマーにとっての標準であり、高い給与を得るための前提条件です。
エディターはこの週末を利用して、並行プログラミングの学習に関するメモを整理し、現在では共有しています(Java並行性コレクション、Java並行性システム、ロック、ブロッキングキュー、スレッドプール、並行性基本Xmindから並行プログラミング学習pdfまで)。すべてのカバレッジ、友人はJVM、並行性は主要メーカーのJavaポストに参加するために必要なスキルの1つであることを知っているはずです。この並行プログラミングノートを使用すると、半分の労力で2倍の結果が得られると思います ここで私はあなたに最も誠実な祝福を送ります、私は誰もがあなたのお気に入りのオファーを得ることができることを望みます!!
Javaコンカレントプログラミングテクノロジー公式ノート
スペース上の理由により、記事の章の内容と主要なスクリーンショットの一部しか表示できません。完全なPDFバージョンが必要な場合は、気に入った後でプライベートメッセージ[並行プログラミング]を送信できます(必ず私に従ってください。それ以外の場合は方法はありません)見知らぬ人からのプライベートメッセージに返信する)
最初に、学習のマインドマップを紹介します。学習をより効率的に学習できるように、学習は論理的に完了する必要があります。
以下は、メモの一般的なリストです。
1.スレッドの基盤、スレッド間の共有およびコラボレーション
- 基本概念
- Javaのスレッドについて
- Javaのスレッドについてさらに理解する-少し理解する
- スレッド間の共有とコラボレーション
- 面接の質問
CPUコアの数とスレッドの数の関係
並列処理と並行処理を明確にする
2.スレッドの同時実行ツール
- フォークジョイン
- CountDownLatch
- サイクリックバリア
- CountDownLatchおよびCylicBarrierの分析
- セマフォ
- 両替
- 呼び出し可能。Future和とFutureTask
3.原子操作CAS
- アトミック操作とは何ですか?アトミック操作を実現する方法は?
- CASのアトミック操作の3つの問題
- Jdkでの関連するアトミック操作クラスの使用
4.明示的なロックとAQS
- 明示的なロック
- LockSupportについて学ぶ
- CLHキューロック
- AbstractQueuedSynchronizer
- ロックの実現を振り返って
5.同時コンテナ
- ConcurrentHashMapを使用する理由
- ConcurrentHashMap
- ConcurrentSkipListシリーズ
- ConcurrentinkedQueue
- コピーオンライトコンテナー
- ブロッキングキューBlockingQueue
6、スレッドプール
- スレッドプールを使用する理由
- ThreadPoolExecutorクラスの関係
- スレッドプール作成の各パラメーターの意味
- 拡張スレッドプール
- スレッドプールの動作メカニズム
- タスクを送信します。
- スレッドプールを閉じる
- スレッドプールを適切に構成する
- 定義済みスレッドプール
- CompletionService
7.並行性の安全性
- スレッドセーフとは
- デッドロック
- その他のセキュリティ問題
- 同時実行時のパフォーマンス
- スレッドセーフなシングルトンモード
8.実際の戦闘プロジェクト
- 並行タスク実行フレームワーク
- パフォーマンス最適化戦闘
9、JMMとその基礎となる実装原則
- JMMの基本的なコンピューター原理
- 物理メモリモデルによって引き起こされる問題
- 偽りの共有
- Javaメモリモデル(JMM)
- Javaメモリモデルが原因の問題
- 起こる-前に
- 揮発性の詳細な説明
- fnalのメモリセマンティクス
- ロックのメモリセマンティクス
- 同期の実現原理
- さまざまなロックについて学ぶ
10. Java8の新しい並行性、知識ポイントの拡大-混乱
- 原子操作CAS
- StampLock
- CompleteableFuture