私はC++によく慣れています。 (これはユーザーによって拡張することができ、ライブラリクラスです)、私は通常、このようなオブジェクトへのすべての参照と静的なコンテナを持っているクラスのすべてのインスタンスのリストを取得するには、次のJava:クラスのすべてのインスタンスへの参照を保存する方法は?
#include <list>
class CPPClass;
class CPPClass {
public:
CPPClass() {
objList.push_back(this);
}
~CPPClass() {
objList.remove(this);
}
private:
static std::list<CPPClass *> objList;
};
std::list<CPPClass *> CPPClass::objList;
は、私はどのようにすればいいJavaで同じですか?私はいくつかの懸念があります。複数のクラスローダーがあることを私に言及
- 誰かが、それは問題
- のJavaにはデストラクタはありませんが発生する場合がありますので、どのように参照がリストから削除されるのでしょうか?
- 参照が削除されない場合、これらのオブジェクトはいつガベージコレクションされますか?
[参考文献](http://docs.oracle.com/javase/7/docs/api/java/lang/ref/WeakReference.html)をオブジェクトに保存して、ガベージコレクションを許可します。 – GriffeyDog