Этот ответ предоставляет некоторые варианты с использованием различных API инструментовок. Но они обычно работают в приложении, работающем в отдельной JVM, и влекут за собой остановку JVM и просмотр всех объектов в куче, чтобы найти соответствующие экземпляры.
JVM не хранит никаких внутренних коллекций всех экземпляров каждого класса. Но вы можете делать такие вещи самостоятельно ... если вы реализуете поведение в каждом конкретном классе или классах, которые вас интересуют. Вам просто нужно быть осторожным, чтобы избежать утечки памяти, сохраняя ссылки на экземпляры, которые в противном случае были бы коллекционный мусор.