垃圾收集器只会回收代码中没有硬引用的对象。HttpSession对象由servlet容器的内部代码引用。当会话过期时,servlet容器的内部代码将取消引用它,并在需要时进行垃圾回收。你完全不需要担心这个问题。这一切都已经为您完成了。 如果您实际的问题是过多的内存使用和/或内存耗尽,则问题的原因肯定是其他地方,并且必须采用不同的方法解决。基本上,您不应引用比必要更多的对象。
每次访问或创建会话对象时,计时器都会被重置。要设置计时器的值,您需要启用会话超时属性。最终,如果用户没有连接,该会话的会话计时器将过期,然后它将从Servlet容器的会话集合中删除,并像任何其他对象一样受到垃圾回收的影响。