【发布时间】:2014-08-28 04:45:58
【问题描述】:
在我的 java 项目 web.xml 中,会话超时参数设置为 5 分钟。 5 分钟后,所有会话对象都被杀死还是保留内存?
【问题讨论】:
-
这比GC复杂一点。它与 servlet 容器的整个会话管理过程有关。我正在重新打开,因为那个副本并没有涵盖所有内容。
-
正如@SotiriosDelimanolis 已经说过的那样,这有点复杂,因为我不是 servlet 容器方面的专家(并且不同的容器可能会选择不同的处理方式)我只能猜测:5 分钟后 不活动容器使会话无效,它可能也被从容器的会话存储中删除。如果没有其他对会话的引用阻止 GC,那么它可能被立即收集,如果垃圾收集器在那个时候运行。
-
setMaxInactiveInterval()的合约说会作废。问题是 IMO,如果invalidate()将使会话符合 GC 的条件,这是 IMO 的主要目的invalidate()。
标签: java session-cookies session-timeout