垃圾收集如何与JSP中的Session对象一起使用?在会话过期后,每个会话是否都会收集垃圾?使用JSP中的Session对象处理内存的更好方法是什么?
答案 0 :(得分:7)
垃圾收集器只会收集代码中没有任何硬引用的对象。 servletcontainer的内部代码引用HttpSession
个对象。当会话到期时,servletcontainer的内部代码将取消引用它,GC将在它的时间扫描它。
你根本不需要担心这一点。它已经为你完成了。
如果您的实际问题是内存使用量过多和/或内存不足,那么问题的原因肯定在其他地方,必须以不同的方式解决。基本上,您不应该引用超出必要的对象。
答案 1 :(得分:0)
每次访问或创建会话对象时,都会重置计时器。要设置计时器的值,请启用会话超时属性。
最终用户没有连接,并且该会话的会话计时器到期,然后它将从Servlet容器的会话集中删除,并像任何其他对象一样受到垃圾收集。