参照カウントとは
参照カウントは、メモリ管理を合理化するために使用されるコンピュータープログラミング手法であり、コンピューターが特定の値または値のブロックをメモリから解放することが「安全」であるかどうかを即座に知ることができます。 プログラミングの際には、経済性が非常に重要であるため、プログラムを可能な限り幅広いコンピューターハードウェアで実行できます。 ランダムアクセスメモリ(RAM)は、コンピューターにとって重要ですが有限のリソースです。 プログラムデータをRAMに保存することは、プログラムの応答時間を改善するための最速の方法の1つですが、システムRAMを消費しすぎると、リソースを大量に消費します。これはエンドユーザーの観点からは望ましくない特性です。 参照カウントは、プログラムが必要とする限りデータをRAMに保持することにより、バランスを取ります。
参照カウントの手法は、プログラムが使用しているオブジェクトの数と名前を追跡することで機能します。 コンピューターのメモリは、おもちゃでいっぱいの子供部屋のように、ハードドライブ上のストレージスペースは部屋のおもちゃの箱のように考えてください。 参照カウントは、プログラム(子)が一度に再生している特定の「おもちゃ」(オブジェクト)を追跡します。 つまり、現在「床」にあるオブジェクトの数。 プログラムが特定のオブジェクトでの再生を停止するとすぐに、参照カウントはこれを記録し、RAMのスペースを使い続けるのではなく、オブジェクトをハードドライブのストレージに戻します。
利点になると、参照カウントの主な利点は即時性にあります。 プログラムがオブジェクトで終了すると、オブジェクトは片付けられ、プログラム内の他のオブジェクトやコンピューター上の他のプログラム用のスペースが解放されます。 エンドユーザーの観点から見ると、これは非常にクリーンなアプローチです。 プログラムが特定の時間に必要とする以上のメモリを消費することはありません。
この手法の欠点は経済です。 参照カウントが効果的に機能するためには、常時監視デバイスを使用して、一度に使用されるオブジェクトの数を管理する必要があります。 これにより、メモリとCPU容量のわずかな部分が消費され、プログラムからのプロセッサオーバーヘッドが増加します。 その結果、参照カウントを使用するという決定は、プログラマーがCPUまたはRAMに追加のストレスを割り当てるかどうかを決定するバランスをとる行為になります。