JVM --- Javaのメモリモデル

1.概要

    1.1は、Java言語仕様では定義  維持するJVMを  意味の類似順雌ねじを(長い手順の最終結果は厳密シーケンシャル環境におけるその実行の結果と同等である限り)。

    

2、プラットフォームストレージモデル

    2.1 現代のプロセッサ、コンパイラは  手段を使い果たし、あなたのプログラムのうち、パフォーマンスを圧迫します

    2.2、  利用可能な共有メモリマルチプロセッサシステムアーキテクチャ、各プロセッサは、それ自身のキャッシュを持っており、定期的に    メインメモリコヒーレンスを有します

    2.3、改善された性能と引き換えに犠牲の一貫性を確保するために、プロセッサ・メモリ、

        また、調整を確実にするために、余分なストレージを必要な共有データのための特別な命令(ストアレベル、フェンス)を規定します。

    2.4は、するJava開発者を支援するために、   アーキテクチャ全体でこれらのストレージ・モデルとの違いを保護しJavaは、独自のメモリモデルを提供します

        JVMが配置されます   挿入管のメモリーカードをするために、    プラットフォーム、基礎となるストレージ・モデルJMMの違いを解決します

3、並べ替え

    3.1は、遅延や誤動作を引き起こす可能性が異なる様々な理由は、集合的に呼ばれる、実行される。並べ替え

4、Javaのメモリモデルの概要

    4.1、Javaメモリー・モデルの定義   による    操作の形態を    説明します。

          アクション変数を書きモニターロックとロックを解除スレッド開始およびスプライス

    4.2、JMM   全内部プログラムの動作には、    定義半順序(事前発生します)。

          変数が複数のスレッドを読み取った場合ならば、少なくとも一つのスレッドは、書き込まれる  書き込み動作が  応じない起こる、前選別、意志のデータの競合が発生します

          プログラムの正しい同期は   ありません  何のデータレース  プログラム

おすすめ

転載: www.cnblogs.com/anpeiyong/p/12024729.html