JVM における TLAB の謎を解明

JVM における TLAB の謎を解明

[[413891]]

この記事はWeChatの公開アカウント「プログラマーの成長」から転載したもので、著者はプログラマーの成長です。この記事を転載する場合は、プログラマーの成長公開アカウントまでご連絡ください。

この記事を始める前に、JVM がオブジェクトを作成し、メモリ アドレスを割り当てるプロセスを理解しており、JVM のメモリ分割も知っていることを前提とします。人道的な観点から、参考までに写真を投稿します。

JVM メモリ構造

ヒープメモリパーティション構造

ヒープ領域にメモリを割り当てるときに、マルチスレッドの安全性の問題はありますか?

A: 存在するかもしれません。

新しいオブジェクト();

上記の操作では、最終的にはヒープ メモリ内にメモリ領域の一部を開く必要があることは誰もが知っています。そこで、この質問について考えてみましょう。ヒープ領域はすべてのスレッドによって共有されます。では、JVM が頻繁にオブジェクトを作成する場合、同時実行時にヒープ メモリのスペースを空けるとセキュリティ上の問題が発生するのでしょうか?

この問題を解決するために、まず考えられるのはロックですが、ロックにはパフォーマンスに影響を与えるという問題があります。

TLAB が表示されます (スレッド ローカル割り当てバッファ)

上記の問題に基づいて、TLAB が導入されます。強制変換はスレッドローカル割り当てバッファです。まず、写真を見てみましょう

ステートメント: ヒープ メモリにスペースを割り当てるときは、古い世代に直接割り当てられるのではなく、最初に Eden 領域に割り当てられます。メモリ割り当てが完了した後、GC が実行されるたびに、オブジェクトがリサイクルされない場合は、その生存カウントが +1 になります。この回数が 15 回に達すると、オブジェクトは古い世代に昇格されます。

オブジェクトの割り当てはまず eden 領域で実行されることがわかったので、上の図を理解するのは難しくありません。私たちはエデンエリア内の領域を分割し、これを TLAB と呼びます。各 TLAB はプライベートなので、オブジェクトを同時に作成する場合、実際にはロックなどの操作を実行する必要がなく、セキュリティの問題が解決されます。

割り当てられた TLAB スペースが使い果たされた場合、またはオブジェクトに必要なメモリ スペースが TLAB が提供できるスペースよりも大きい場合、メモリ スペースはパブリック エデン領域または古い世代にのみ割り当てることができます。

要約する

  • 1. JVM はメモリ空間の割り当てに TLAB を優先します。
  • 2. TLAB はエデンエリア全体の 1% を占めます。この値はパラメータを通じてカスタマイズすることもできます。

この問題から別の疑問も推測できます。ヒープ領域はスレッドによって厳密に共有されるわけではありません。

<<:  エッジコンピューティングとデータストレージ: インダストリー4.0の主要テクノロジー

>>:  分散システムにおける「スプリットブレイン」とは一体何でしょうか?

推薦する

Baidu はどのようなサイトを重視し、よく取り上げているのでしょうか?

現在、Baiduの組み入れについて話すとき、誰もがBaiduの組み入れがますます困難になっていると感...

東南アジアにおけるクラウドコンピューティングの発展方向は何ですか?

クラウド コンピューティングが万能薬ではないことを企業が認識するにつれ、新しいスキル、新しいアプリケ...

ウェブサイトがブロックされてから復旧するまでの実体験を共有する

6月から、Baiduは段階的にサイトのK-upを開始しました。ほぼ一夜にして、数万のウェブサイトがK...

大規模eコマースウェブサイトのSEOを最適化する方法

誰かが尋ねました: SEO と検索エンジンの関係は何ですか? この質問に関して、私は個人的に SEO...

ウェブサイトの登録数が増減を繰り返す4つの理由の分析例

最近、多くのウェブマスターが、自分のウェブサイトのインクルード数が一夜にして解放前のレベルに戻ったと...

SEO の悲劇?涅槃復活!あなたが業界を選び、業界があなたを選ぶ

最近プロモーションの仕事が忙しくて、SEOの記事を長い間書いていませんでした。 4月19日にウェブサ...

SEOスキルを向上させる3つのステップ

SEOスキルを向上させる3つのステップSEO は運用スキルではなく、思考の角度を改善することだと多く...

エッジコンピューティングとデータセンターの未来

ほぼあらゆる面で、社会のペースは速くなっています。私たちは、カスタマー サービスの問題がすぐに解決さ...

悪魔は細部に宿る:インタラクティブなウェブボタンのサイズ

製品がコア要件を満たしたら、詳細の作業をゆっくりと開始できます。製品のほぼすべてのレベルで、表面上見...

Android丨Huawei MarketにおけるASOの詳細な説明

今日は、AndroidマーケットにおけるHuawei App Marketの新パッケージが、どのよう...

Kexun.comの「消失」には4000万ドルを超える資金が絡んでいる

最近、深センのP2Pオンライン融資プラットフォームKexun.comは、ネットワークがメンテナンス中...

2019年公式アカウントエコトレンド調査レポート!

クエストモバイルが今年2月に実施した調査によると、月間アクティブユーザー数が11億人を超えたWeCh...

分散ストレージシステムの信頼性をどのように評価するのでしょうか?

通常、構造化データベース ストレージ (一般的な MySQL など)、ドキュメントベースの Nosq...

質の高いフレンドリーリンクを判断して交換する方法

現在、多くの SEO 担当者は、高品質の外部リンク (主に友好的なリンク) を非常に重視しており、多...

Open NOS によるクラウドとデータセンターの再構成の習得

企業は、データセンターの運用コストを削減しながら、生産性、ビジネスの回復力、持続可能性を向上させるこ...