ガベージコレクター

著者: Louise Ward
作成日: 5 2月 2021
更新日: 1 J 2024
Anonim
ガベージコレクションとは?|ガベージコレクションの仕組みをまじえて4分でわかりやすく解説します
ビデオ: ガベージコレクションとは?|ガベージコレクションの仕組みをまじえて4分でわかりやすく解説します

コンテンツ

定義-ガベージコレクターの意味

ガベージコレクタは、自動メモリ管理を実行するソフトウェアです。その役割は、未使用のメモリを解放し、使用中のメモリが解放されないようにすることです。 Javaや.NET言語などの一部の言語は自動ガベージコレクションを備えていますが、C / C ++などの他の言語ではプログラマがメモリを手動で管理する必要があります。


Microsoft AzureとMicrosoft Cloudの紹介|このガイドを通して、クラウドコンピューティングとは何か、Microsoft Azureを使用してクラウドからビジネスを移行および実行する方法を学習します。

Techopediaによるガベージコレクターの説明

ガベージコレクションは、Lisp言語を使用する際の手動メモリ管理を容易にするために、Lisp作成者John McCarthyによって最初に導入されました。

ガベージコレクターが自動メモリ管理を実行するために使用する3つの主な手法は次のとおりです。

  • 参照カウント-各オブジェクトへの参照は、カウンター変数を使用してカウントされます。カウンターがゼロに達すると、オブジェクトが不要になり、リサイクルされることを示します。
  • マークとスイープ-すべての到達可能なオブジェクトの再帰的な走査がすべてのデータ領域で実行され、到達可能なオブジェクトがマークされます。その後、マークされていないオブジェクトはリサイクルされます。
  • 停止してコピー-メモリヒープは2つのセクションに分割されます。オブジェクトを含むセクションと、マークされていることが判明した場合にオブジェクトが転送(コピー)される空のセクションです。最初のセクションのマークされていないオブジェクトは、空にすることでリサイクルされます。

ポインター/オブジェクトに割り当てられたメモリブロックが解放されたら、ポインター/オブジェクトをnull値にリセットする必要があります。それ以外の場合は、ぶら下がっています。つまり、無効なメモリブロックを指しています。

ガベージコレクションは、ダングリングポインターとメモリリークの問題によって引き起こされるバグとセキュリティリスクを減らすのに役立ちます。

ガベージコレクターを使用する場合の短所には、リソースとパフォーマンスに対する余分なオーバーヘッドが含まれます。ガベージコレクターを実行すると、システムの速度が低下し、パフォーマンスが低下する場合があります。