クラスのコンストラクターでは、現在のオブジェクト(this)とそのキー(コンストラクターにパラメーターとして入力された文字列)を静的なLinkedHashMapにマップし、後で必要になる可能性のある場所で文字列によってオブジェクトを参照できるようにします。 。
コードは次のとおりです(役立つ場合):
public class DataEntry {
/** Internal global list of DataEntry objects. */
private static LinkedHashMap _INTERNAL_LIST;
/** The data entry's name. */
private String NAME;
/** The value this data entry represents. */
private Object VALUE;
/** Defines a DataEntry object with a name and a value. */
public DataEntry( String name, Object value )
{
if( _INTERNAL_LIST == null )
{
_INTERNAL_LIST = new LinkedHashMap();
}
_INTERNAL_LIST.put( name, this );
NAME = name;
VALUE = value;
}
}
問題?このクラスのインスタンスは、使い終わってもガベージコレクションされません。
このクラスのインスタンスを使い終わったときに、毎回手動でRemove()メソッドなどを呼び出さなくても、このクラスのインスタンスをクリーンアップする方法があるかどうか知りたいです(内部のLinkedHashMapでその参照を削除するために)私はもうそれらを使用していません、つまり)。