Ситуация немного сложная.
У меня есть веб-контейнер, который управляет другим приложением на другом компьютере, используя RMI.
На стороне сервера RMI есть HashMap, который содержит информацию о пользователе, которой должна управлять сторона веб-приложения.
Когда пользователь выходит из системы со стороны веб-приложения, происходит RMI-вызов к серверу RMI, сообщающий серверу о выходе пользователя из системы. Затем я просто удаляю элемент в HashMap.
Теперь я понимаю, что GC не будет собирать объект, который я удалил в HashMap, потому что, возможно, другой поток все еще использует его, и объект также содержит некоторые подобъекты, такие как пользовательские контакты.
Я действительно понятия не имею, как уничтожить весь объект, включая его свойства и свойства свойств.