MinorGC、面接プロセスの障害

初めて技術的な乾物と業界情報を入手してください!

MinorGC、面接プロセスの障害

昨日、私の友人は、彼がDouyinに短いビデオを投稿し、300のいいねを獲得したと私に言いました。私は、あなたがDouyinによって廃棄されるか、Douyinを廃棄(アンインストール)するか、またはDouyinを極端にプレイして、Douyinインターネット有名人になるかのどちらかだと言いました。

Douyinをダウンロードしたとき、1時間プレイした後にアンインストールしました。あなたが成功したいのなら、あなたに短期的な喜びを簡単に与えることができるすべてのものに甘んじてはいけないことを私は知っているからです。

実際、それはプログラマーと同じです。あなたは通常、Baiduでプログラムを作成するために働いています。ゆっくりとあなたは検索に夢中になり、それを取り除くことはできません。私は本を​​読んだり、学習を進めたりしたくありません。あなたの目にはすべてが1回の検索で解決されるように見えるからです。実際、これはあなたの廃止の始まりにすぎません。

今日は、上級中級、上級、専門家のレベルについてお話します。必要なコース、GCのMinorGC。

JVMのヒープは、一般に、若い世代、古い世代、および永続的な世代の3つの部分に分けられます。若い世代は通常MinorGCを使用し、古い世代は通常MajorGCを使用し、永続世代は通常FullGCを使用します。

MinorGC、面接プロセスの障害
新世代は、主に新しいオブジェクトを格納するために使用されます。通常、ヒープの3分の1を占めます。オブジェクトが頻繁に作成されるため、若い世代はガベージコレクションのためにMinorGCを頻繁にトリガーします。新世代のMinorGCは通常、Edenエリア、SerivorFrom、およびSerivorToの3つのエリアに分割されます。

MinorGCは通常、コピーアルゴリズムを使用します。プロセスは、最初にコピーし、次に空にし、最後にスワップすることです。

コピーのプロセスは簡単です。まず、Edenエリアがいっぱいになったら、最初のGCに戻り、残っているオブジェクトをSurvivorFromエリアにコピーします。EdenエリアがGCを再度トリガーすると、EdenエリアとFromエリアがスキャンされ、2つのエリアがスキャンされます。収集されたゴミ。

この回復を生き延びたオブジェクトは、To領域に直接コピーされ、これらのオブジェクトの経過時間は+1です。オブジェクトの年齢が古い年齢の標準に達した場合(年齢のしきい値は-XX:MaxTenuringThresholdで設定できます)、オブジェクトは古い年齢に直接コピーされます。

MinorGCが発生した後、EdenおよびServivorFrom領域のオブジェクトが他の領域にコピーされます。

もう1つの注意点は、新しく作成されたオブジェクトが大量のメモリを占有する場合、古い世代に直接割り当てられることです。また、SurvivorToエリアは回復アクションを実行しません。

清算はわかりやすいです。MinorGCの後、EdenおよびServivorFrom領域のオブジェクトは、古い世代またはSurvivorTo領域にコピーされるためです。このとき、エデンエリアとSerivvorFromをクリアすることができます。

クリアした後、別のスワップアクションがあります。SurvivorToのオブジェクトをServivorFrom領域に交換することです。SurvivorToとSurvivorFromは交換されます。元のSurvivorToは、次のGCではSurvivorFrom領域と呼ばれます。オブジェクトの一部は、From
領域とTo領域ので前後にコピーされ、このように15回交換され(JVMパラメーターMaxTenuringThresholdが決定され、デフォルトパラメーターは15です)、最後に、オブジェクトがまだ生きている場合は、老後。

これはMinorGCで、非常に単純です。インタビューでは、最初はSerivvorToが空であり、レプリケーションアルゴリズムのプロセスは、最初にコピーし、次に空にし、最後にスワップすることだけを覚えておく必要があります。もう1つ注意すべき点は、新しく作成されたオブジェクトがメモリ、それは直接割り当てられます。老後へ。また、EdenとSurvivorのデフォルトの比率は8:1です。これらの要点に答えた後、少なくとも私は個人的に面接官のパスとして数えます。

次のようなその他の面接の質問:GCはどのような条件をトリガーしますか?いつトリガーされますか?GCリサイクルは何を収集しますか?GCリカバリは何をしましたか、それは何をしましたか、そしてそれはどのように動作しましたか?これらの面接の質問を待ってください、あなたは私の面接の質問アプレットを通して学ぶことができます!

おすすめ

転載: blog.51cto.com/15127565/2666192