Ответ 1
Вы можете использовать статический инициализатор Factory при создании экземпляра вашего класса (Singleton pattern), а затем добавить каждый сгенерированный экземпляр в Factory конструктор в список...
Что-то вроде этого:
class MyObject {
private static List instances = new ArrayList();
public static MyObject createMyObject() {
MyObject o = new MyObject();
instances.add(new java.lang.ref.WeakReference(o));
return o;
}
public static List getInstances() {
return instances;
}
private MyObject() {
// Not allowed
}
}