異なる文字どうしの関係を、文字値を持つレコードによって表現するプログラムを考える。実行のある時点で、3つの局所変数が使用されていて、 レコードが下図のような参照関係になっていたとする。このとき、
マーク・アンド・スイープごみ集めによって回収できるレコードを、保持する文字値で示したものとして、最も適切なものはどれか。
@ 'b'
A 'e'、'g'
B 'b'、'c'、'f'
C 'b'、'c'、'e'、'f'
D 回収されるレコードはない。
B
局所変数は、ローカル変数のことである。
また、ヒープ領域は、プログラム実行時において、動的に確保が可能な記憶領域のことである。
使用されている局所変数で一番上の変数は 'a' を参照している。
真ん中の局所変数は 'd' を参照し、さらにヒープ領域で 'e' と 'g' を参照している。
一番下の変数は 'g' を参照している。
したがって、マーク・アンド・スイープごみ集めによって回収できるレコードを、保持する文字値で示したものは、'a', 'd', 'e', 'g' 以外、すなわち、'b', 'c', 'f' である。
なお、ガベージコレクション (Garbage Collection) は、プログラムが動的に確保したヒープ領域のうち、使用しなくなった領域を回収して再度使用可能にすることであり、マーク・アンド・スイープごみ集めは、ガベージコレクションの実装方法の一つである。
V−3 | 目次 | V−5 |