フルGCとマイナーGCの違いが分からない

フルGCとマイナーGCの違いが分からない

[[317199]]

この記事では、主に JVM のさまざまな GC を紹介し、誰もがこれらの概念を明確に理解できるようにします。

マイナー GC、ヤング GC、フル GC、古い GC、メジャー GC、混合 GC など、多くの GC 用語を見たことがあるかもしれません。

概念が多すぎて、考えるのは頭が痛くなります。これらすべての GC は何を指しているのでしょうか?

まず、Zhihu での R の回答を引用します。

HotSpot VM の実装に関しては、実際には GC の正確な分類が 2 つあります。

部分GC: GCヒープ全体を収集しないモード

  • Young GC: Young Gen のみを収集する GC。Young GC はマイナー GC とも呼ばれます。
  • 古い GC: 古い世代のみを収集する GC。このモードでは、ガベージ コレクター CMS の同時コレクションのみが実行されます。
  • 混合 GC: Young Gen 全体と Old Gen の一部を収集する GC。このモードを持つのはガベージ コレクター G1 のみです。

フルGC: 新しい世代、古い世代、永久世代(JDK 1.8以降では、永久世代は削除され、メタスペースに置き換えられます)、およびその他のすべての部分を含むヒープ全体を収集します。

次に、各 GC を見てみましょう。

(1)マイナーGC / ヤングGC

まずはマイナーGC/ヤングGCについて見てみましょう。ご存知のとおり、新世代(Young Gen)は若い世代とも呼ばれます。これら 2 つの用語は同義です。そして、若い世代の Eden メモリ領域がいっぱいになった後、実際には若い世代の GC、または新しい世代の GC をトリガーする必要があります。

現時点では、新世代の GC は、実際にはマイナー GC またはヤング GC と呼ばれています。これら 2 つの用語は誰もが理解できると思います。簡単に言えば、これは新世代の GC 専用です。

(2)旧GC

いわゆる旧世代の GC は、文字通りの意味からこれがいわゆる旧世代の GC であると理解できるため、Old GC と呼ぶ方が適切です。

しかし、ここでは旧世代の GC をフル GC と呼んでいますが、これは実際に可能です。それは文字通りの言い方を少し変えただけです。

旧世代の GC の意味をより正確に表現するために、旧世代の GC を Old GC と呼ぶことができます。

(3)フルGC

実は、Full GC にはもっと適切な用語があり、Full GC は新世代、旧世代、永久世代のメモリ空間全体のガベージ コレクションを指すため、Full GC と呼ばれています。

Fullはその名の通り全体を意味するため、JVM全体でガベージコレクションを実行し、各メモリ領域のガベージを収集することになります。

(4)メジャーGC

また、「メジャー GC」という用語もありますが、これは実際にはほとんど使用されず、非常に混同しやすい概念でもあります。

メジャー GC は旧世代の GC だと考えてオールド GC と同一視する人もいれば、メジャー GC は JVM のメモリ領域全体に対する GC だと考えてフル GC と同一視する人もいます。

したがって、この混同されやすい概念については、今後はあまり言及しないことをお勧めします。誰かがメジャー GC の概念について話しているのを聞いたら、その人が古い GC について言及しているのか、それともフル GC について言及しているのかを明確に尋ねることができます。

(5)混合GC

混合 GC は G1 の独自の概念です。実際、簡単に言うと、G1 では、古い世代がヒープ メモリの 45% を占有すると (-XX:InitiatingHeapOccupancyPercent: マーキング サイクルをトリガーするための Java ヒープ占有率しきい値を設定します。デフォルト値は 45% です。ここでの Java ヒープ パーセンテージは、old + humongous を含む non_young_capacity_bytes を指します)、Mixed GC がトリガーされ、若い世代と古い世代の両方がリサイクルされることを意味します。混合 GC は G1 にのみ表示されます。

参照する

https://tech.meituan.com/2016/09/23/g1.html

https://www.zhihu.com/question/41922036/answer/93079526

「Java 仮想マシンの徹底理解: JVM の高度な機能とベスト プラクティス (第 3 版)」

<<:  クラウド ネットワーキングとクラウド コンピューティングの違いは何ですか?

>>:  IDCクラウドコンピューティングレポート:アリババクラウドは世界トップ3にランクイン、成長率はアマゾンとマイクロソフトを上回る

推薦する

ウェブサイトの最適化におけるロングテールキーワードの役割

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますロングテー...

ウェブサイトをより良く発展させたいなら、ユーザーエクスペリエンスに重点を置くべきです

どの業界のウェブマスターも、SEO最適化の重要性をよく知っています。これらの業界の中で、タオバオのS...

ワールドカップ生中継権事件の裏側:視聴者は動画サイトへ移行

原題: 対立とチャンス: ワールドカップ「インターネット」イベント毎年のワールドカップは中国のインタ...

急成長中のSEOにバケツ一杯の冷水を浴びせる

近年のSEO業界の急速な発展に伴い、多くの企業にとってSEOはオンラインマーケティングを行う上で欠か...

Microsoft AKS が中国に上陸、クラウドネイティブ アプリケーション開発の新たな機会が開かれる

[51CTO.com からのオリジナル記事] Kubernetes は、業界をリードするオープンソー...

「トラフィック収益化」には大きな可能性がある

事業者はトラフィック収益化を実践し始めており、「トラフィックパッケージ」や「トラフィックバンク」など...

より軽く、より強く、よりスマートに! Bonree ONE Spring正式版がリリースされました

「Bonree ONEは単なる製品ではなく、Bonree Dataの精神と哲学を体現したものでもあ...

Baidu のキーワードランキングではサイトの履歴が考慮されますか?

Baidu のアルゴリズムの中には本当に奇妙なものがあり、あまりに奇妙なので、Baidu 自身でさえ...

仮想化プラットフォームが 3 分で何ができるのか理解できますか?

本日は、仮想化が実装された後、仮想化プラットフォーム上で顧客や管理者向けに実装できる便利で実用的な仮...

Weiboマーケティングの6つのヒント: 楽しいだけじゃない

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスWeiboマーケティング...

EvoRack-XEN VPS 60% オフ/今すぐ購入を歓迎

EvoRack は、英国に拠点を置く ABPNI Computer Solutions Ltd. と...

電子商取引マーケティング: 代替ユーザーエクスペリエンス

ウェブサイトの種類に関係なく、ユーザーエクスペリエンスが基礎であり、スパムサイトはユーザーを尊重しな...

Chuangsu Cloud: 香港 VPS、CN2 ネットワーク、4M 無制限帯域幅、2G メモリ、69 元!

創蘇クラウドについてご紹介します。創蘇クラウドは、付加価値通信サービスの運営に特化したハイテク企業で...

統合アーキテクチャ: 分散データベースを再定義し、コアビジネスシステムに参入

[51CTO.comよりオリジナル記事]インターネットの急速な発展に伴い、人類社会におけるデータ量は...

A5ウェブマスターネットワークの第2回ローカルウェブサイト運用トレーニングの登録が開始されました

研修概要対象者コミュニティサイト管理者 コミュニティサイトマネージャー コミュニティ運営責任者 コミ...