コンセプト 仮想マシン: 完全なハードウェア システム機能をシミュレートし、完全に分離された環境でソフトウェア方式で実行される完全なコンピュータ システムを指します。これは物理マシンのソフトウェア実装です。一般的に使用される仮想マシンには、VMWare、Visual Box、Java 仮想マシン (Java 仮想マシン、略して JVM) などがあります。
Java 仮想マシン キャンプ: Sun HotSpot VM、BEA JRockit VM、IBM J9 VM、Azul VM、Apache Harmony、Google Dalvik VM、Microsoft JVM… プロセスを開始する 基本的なアーキテクチャ Java ランタイムはソース コード (.java) をバイトコードにコンパイルし、それが jre によって実行されます。 jre は Java 仮想マシン (jvm) によって実装されます。 Jvm はバイトコードを分析し、解釈して実行します。 JVM は 3 つの主要なサブシステムで構成されています。
ガベージコレクション (GC) 1. ゴミを識別し、リサイクル可能かどうかを判断するにはどうすればよいでしょうか?
2. Java のヒープは、GC がガベージを収集する主な領域です。 GC は、マイナー GC とフル GC (またはメジャー GC) の 2 種類に分けられます。
GCアルゴリズム リサイクル戦略に応じて、マークスイープアルゴリズム、マークコンパクトアルゴリズム、コピーアルゴリズムに分けられます。 1. マークアンドスイープアルゴリズム:「マーキング」と「スイープ」の 2 つの段階に分かれています。まず、リサイクル可能なオブジェクトをマークし、マークが完了したら、マークされたすべてのオブジェクトが占めるメモリ領域をリサイクルします。デメリット: 1. 循環参照を処理できない 2. 効率が低い 3. 大量のメモリフラグメントが生成される (追記: スペースの断片化が多すぎると、将来大きなオブジェクトを割り当てるときに十分な連続メモリスペースを適用できなくなり、新しいラウンドの GC が事前にトリガーされる可能性があります) 2. マークソートアルゴリズム:「マーキング」と「ソート」の 2 つの段階に分かれています。まず、リサイクルできるものに印を付けます。マークした後、オブジェクトを一方の端に移動し、境界の外側のメモリを直接クリーンアップします。 3. コピーアルゴリズム: メモリ空間を 2 つの等しい領域に分割し、一度に 1 つの領域のみを使用します。 gc 中、現在使用されている領域が走査され、使用中のオブジェクトが別の領域にコピーされます。このアルゴリズムは、使用中のオブジェクトのみを毎回処理するため、コピーコストは比較的小さくなります。同時に、コピー後にメモリを適切にソートできるため、「断片化」の問題は発生しません。デメリット: 1. メモリ使用率の問題 2. オブジェクトの生存率が高い場合、効率が低くなります。 パーティション処理に応じて、増分コレクションアルゴリズム、世代別コレクションアルゴリズムに分けられます。 1. 増分コレクション: リアルタイム ガベージ コレクション アルゴリズム。つまり、アプリケーションの実行中にガベージ コレクションが実行されます。理論的には、従来の生成方法によって発生する問題を解決できます。増分コレクションは、ヒープ領域を一連のメモリ ブロックに分割します。使用する際は、まず一部から使用してください。ガベージコレクションを行う際は、以前使用されていた部分に残っているオブジェクトを、後ろの未使用のスペースに配置します。これにより、従来の生成方法のように、使用がすべて完了した後にリサイクルのために一時停止する状況を回避し、使用しながら収集する効果が得られます。 2. 世代別コレクション: (商用デフォルト) オブジェクトのライフサイクルに基づいて、新世代、旧世代、メタスペースに分割され、異なるライフサイクルで異なるアルゴリズムを使用してオブジェクトをリサイクルします。 システムスレッドに応じて、シリアルコレクションアルゴリズム、並列コレクションアルゴリズム、同時コレクションアルゴリズムに分類できます。 1. シリアルコレクション: 単一のスレッドを使用してガベージコレクション作業を処理します。実装が簡単で、効率が高くなります。デメリット: 1. 複数のプロセッサを活用できない 2. ユーザースレッドを一時停止する必要がある 2. 並列コレクション: マルチスレッドを使用してガベージ コレクション作業を高速かつ効率的に処理します。理論的には、CPU の数が多いほど、並列コレクターが発揮できる利点は多くなります。デメリット: ユーザースレッドを一時停止する必要がある 3. 同時収集: ガベージ スレッドとユーザー スレッドが同時に動作します。システムはガベージコレクション中にユーザースレッドを一時停止する必要がない GCコレクターの一般的な組み合わせ JVM パフォーマンス チューニングのアイデア GCログを理解する
一般的な異常
|
<<: 調査レポート: パブリッククラウドストレージはお金の無駄
>>: QingCloud KubeSphere(QKE)は、基盤となる運用やメンテナンスを必要とせず、よりシンプルで使いやすいです。
ウェブサイト分析ツールを最大限に活用するGoogle ウェブマスター ツールやその他のサービスを使用...
Reversehosts は、半年ほど前に設立された新しい VPS ビジネスです。新しいサーバーは、...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています対外貿易プ...
AWS Innovation Studio 第 2 号メジャーアップデート! 最近では、AWS を通...
現在、WeChatはマーケティングでますます広く使用されていますが、どうすればより効果的にマーケティ...
Bandwagonhost VPS(別名bandwagonhost.com)は、長年にわたって安定し...
1つ目: 文章置換法同義語を置き換えるための特別なソフトウェアがありますが、お勧めできません。テキス...
Hosthatch では、スウェーデンのデータセンターに設置された、128M メモリ、SSD 搭載、...
Geek Host は 20% オフセールを開催しており、Host Cat の割引コードもカスタマイ...
淘宝網が美麗碼と莫谷街へのログイン機能を廃止した後、この2つのソーシャル電子商取引プラットフォームは...
重要なポイント端末デバイスからのデータがクラウドで処理されることが増えていますが、これはリソースを大...
北京から上海まで1,400キロ以上あります。私と私の同僚は、明日 IBM が開催する2011 クラウ...
ルクセンブルクのマーチャントであるgcorelabsは、グローバルデータセンターコンプレックスの運営...
ウェブサイト最適化作業の含意を明確にすることは、最適化をうまく行うための基本的な内容です。多くのウェ...
[[414812]] JVM 関連の例外は、最前線の開発者にとって常に頭痛の種でした。なぜなら、ビジ...