JVM からの魂を問う質問: 「あなたは一体何のゴミなのですか?」

JVM からの魂を問う質問: 「あなたは一体何のゴミなのですか?」

[[273416]]

著者: iMononoke

ブログ: https://juejin.im/user/5c629a3051882562191755d8

GCとは何ですか?

GC は自動ストレージ管理メカニズムです。占有されているメモリが不要になった場合は、解放する必要があります。このストレージ リソース管理はガベージ コレクションと呼ばれます。

普段、机を掃除したり物を整理整頓したりするのと同じように、「手放す」という概念を見たり聞いたりしたことがある人は多いでしょう。使わなくなったものは他の人に寄付したり、リサイクル品としてリサイクルしたりすることができます。多くの場合、私たちはいくつかのアイテムを保管していますが、いつ使うかを考えるだけで何年も使用していないため、実際の「記憶」を占有しています。

「汚くて散らかっている」

[[273425]]

「きれい〜」

[[273426]]


まだ「生きて」いますか?

0-1 の世界では、いわゆる「ガベージ コレクション」とは、使用できなくなったオブジェクトによって占有されているメモリ領域を再利用し、必要なオブジェクトが使用できるようにこのメモリを解放することを指します。

では、JVM ではどのように分割されるのでしょうか?あるいは、どの物をリサイクルする必要があるでしょうか?

主な質問は、あなたはまだ「生きている」のかということです。

リサイクルするには、まずリサイクル可能かどうか、つまりその物体がまだ「生きている」かどうかを判断する必要があります。

判断には主に 2 つのアルゴリズムがあります。

  • 参照カウント
  • 到達可能性解析方法。

表を作って見てください〜

参照カウント

最大の問題は、オブジェクトが相互に参照する状況を解決するのが難しいことです。

一枚の写真は千の言葉に値する。

1. 相互引用

これは、2 つのオブジェクトが相互に参照する状況です。これ以外に、これら 2 つのオブジェクトへの参照はありませんが、参照カウントが 0 ではないため、参照カウンタは GC コレクターにそれらを再利用するように通知できません。

2 循環参照

これは循環参照の例です。これらを指す外部参照はありませんが、参照カウントは 0 ではないため、リサイクルできません。

たとえば、椅子の背もたれが壊れている場合、椅子の車輪はまだ使えますが、車輪を取り外して他の用途に使用することはできません。そのため、椅子の背もたれと車輪は互いに参照し合っていますが、それ自体以外には外部からの参照はありません。

この場合、「参照カウント方式」を使用して判断すると、まだリサイクルする必要はありませんが、実際には使用されなくなります。

そのため、主流の JVM ではメモリの管理に参照カウントは使用せず、代わりに次の到達可能性分析方法を使用します。次の図はその基本的な考え方を模式的に示したものです。

  • 到達可能性分析

図からわかるように、object5、object6、object7 には GCRoots オブジェクトへの参照チェーンがないため、すべてリサイクルされます。

上記の例によれば、壊れた椅子の背もたれと無傷の車輪は両方とも椅子オブジェクト (object5) に属していますが、椅子自体は使用されていないため、それらを参照する参照チェーンは存在しません。

GCルートになり得るオブジェクト

この大きな絵は見覚えがありますか?

もう一度分類して〜

  • 初回: オブジェクトの到達可能性分析後、GCRoots との接続がないことが判明し、初めてマークおよびフィルタリングされます。
  • 2 回目: オブジェクトが finalize() メソッドをオーバーライドしていないか、finalize() メソッドが仮想マシンによって呼び出されているため、実行する必要はないと判断されます。

<<:  Meituan Dianpingの分散データアクセス層ミドルウェアMTDDLの詳細な説明

>>:  10億規模のWebシステムの構築: スタンドアロンから分散クラスタまで

推薦する

Red Hat が OpenShift Platform Plus の新バージョンをリリース、ハイブリッドクラウドの一貫性と管理機能を強化

オープンソース ソリューションの世界的大手プロバイダーである Red Hat は最近、Kuberne...

ウェブサイトのキーワードの選択: 広くて具体的なキーワードと、狭くて一般的なキーワード

適切なウェブサイト キーワードを選択することは、ウェブマスターの願いとなっています。現在、多くのウェ...

Miyun監視ウェブサイト虚偽宣伝監視ウェブサイト違法行為

これまで、密雲県の企業が運営する商業ウェブサイト1,993件が電子商取引規制「レーダーネットワーク」...

Kubernetesガバナンス戦略を確立する方法

翻訳者 |李睿校正:孫淑娟ガバナンスにより一貫性と再現性がもたらされ、品質が決して損なわれることがな...

第1四半期のアプリ海外動向

4月21日、data.aiは最新レポート「2018年第1四半期の市場指数ランキング」を発表しました。...

百度は3つの理由から不適切なSEOに対して公に警告している

2012年2月15日、国内検索エンジンのリーダーであるBaiduは、不適切なSEO最適化の取り締まり...

アマゾン ウェブ サービスが生成型 AI 技術の普及を促進する 4 つの主要なイノベーションを発表

今日、AIGC は間違いなく最もホットな話題の 1 つです。国内外の大手テクノロジー企業もこれに追随...

ハイブリッド クラウドの人材に現在必要な 7 つのスキル

ハイブリッド クラウドの導入が拡大するにつれ、コンピューティングに対するこの最新のアプローチを効果的...

サイトの縮小に伴う3つの主要な執行者を個人的に体験する

諺にあるように、世の中に生きていれば、必ず傷つくことになります。著者は 2 年間の最適化経験を持って...

vmiss香港vpsはどうですか? 「中国 - 香港 - 最適化 BGP Ⅱ」シリーズ 香港 BGP VPS の詳細レビュー

vmissの香港VPSに「中国-香港-最適化BGPⅡ」シリーズが追加されました。メガデータセンターで...

「オンデマンドカスタマイズ」と柔軟な展開で、JD Cloudの「クラウドサービス」がファンを獲得

クラウドコンピューティング、5G、ビッグデータ、人工知能などの新興技術の急速な発展に伴い、データセン...

fastvps.ru: ロシア + エストニア、無制限トラフィック VPS + 専用サーバー

fastvps.ru は2006 年にエストニアで設立され、従業員は 30 名を超えています。現在の...

ルー・ソンソン:価格比較サイトでの初めての買い物体験

お気に入りで「価格を比較」をクリックすると、さまざまなショッピングモールの550Dの価格が出てきまし...

垂直型電子商取引:土地の奪い合いか、それとも集約的な耕作か?

新婚生活がこんなに短いとは思いませんでした。メディアの報道によると、両者が協力を開始してから1年も経...