1

分析服务器应用程序我发现了一些观点,与会话序列化和反序列化有关可能是危险的。很多地方的servlet层使用session来存储对象。

考虑顺序:

1)对象A保存到会话

2)对象A被修改

3)从会话中读取对象A作为对象B

是否有可能在 1) 和 2) 发生序列化之前,读取为 B 的对象是从 3 更改之前对象 A 的反序列化版本?

或者我保证,只要 1、2、3 发生在同一个请求中,A 和 B 就会相等?

4

1 回答 1

1

您的代码不应依赖于您放入会话中的对象是同一个实例,只要它们在语义上与方法所暗示的相同,那么这就equals足够了。

当然,会话可以序列化有多种原因,无论是会话在服务器重新启动后仍然存在,还是因为服务器是集群的一部分。

于 2013-01-25T13:19:55.913 回答