python面接問題の簡単な説明Pythonのゴミ回収メカニズム(garbage collection)


ここで言えることはたくさんあります.次の主な点に言及する必要があります.
  • Pythonは、各オブジェクトの参照カウント(reference count)をメモリに格納します.カウント値が0になると、対応するオブジェクトが小さくなり、そのオブジェクトに割り当てられたメモリが解放されて使用されます.
  • はたまに (reference cycle)も現れる.ごみ回収器はタイミングよくこのサイクルを探して回収します.例として、2つのオブジェクトo1およびo2があり、o1.x == o2およびo2.x == o1の2つの条件を満たすと仮定する.o1およびo2に他のコード参照がない場合、それらは存在し続けるべきではない.しかし、それらの参照カウントはすべて1です.
  • Pythonでは、ゴミ回収を加速させるためにいくつかのヒントアルゴリズム(heuristics)が使用されています.たとえば、作成が遅れるほどオブジェクトが回収される可能性が高くなります.オブジェクトが作成されると、ゴミ回収器は所属する世代(generation)を割り当てます.各オブジェクトには1つの世代が割り当てられ、より若い世代が割り当てられたオブジェクトが優先的に処理されます.本文はPythonブラックホール網に先発し、ブログ園は同時に
  • を更新した.
    転載先:https://www.cnblogs.com/pythonzhichan/p/11507078.html