今天我意识到,我已经盲目地只是跟着这个要求多年没有人真正问为什么。今天,我跨NotSerializableException跑了我从头开始创建一个模型对象和我意识到够了。

有人告诉我,这是因为负载均衡服务器之间的会话复制的,但我知道我已经看到了在会话范围不实现Serializable其他对象。这才是真正的原因是什么?

有帮助吗?

解决方案

它是真正的原因。如果它实际上在实践中关系完全取决于如果Web服务器或应用服务器实际上将序列化对象(或验证它是序列化的,但实际上这样做是实际序列化的唯一途径)。

大多数应用服务器具有不被严格关于它的选择(至少)。如果不使用负载平衡,实际上共享状态的服务器,那么你可能已经看到它没有问题。

其他提示

由于以跨越他们需要serialisable到可以在电线上放的形式的线被传送。

像二进制或XML,JSON或呈三角

还有更多的信息在这里...... 如果任何域对象,而不是可序列化?

我觉得这个概念类似于被要求, 为什么一定要固体食物被吞噬消化前,咀嚼了下来。 不过,当然,不同的是,消化好的不能在反正反序列化。

记得使用Sun RPC(现在称为ONC RPC),其执行编码XDR 因为计算机平台/系统代表在各自的形式他们的数据。例如, 大端VS小端序。

但JVM,不论机器的是大端,所以字节序不应该是有原因的。

在计算机存储器中的数据结构具有指针和对象可以不坐连续的存储块上的所有元素。但是,当传递一个对象救援人员到场I / O到另一个系统,可以不通过该对象的存储器分配。

一个对象需要被存储在数据库中,因为你不并不能希望复制的系统内存的动态改变的装置之前被序列化。

我们的在网络上的数据表示层是所有位的基于流的。因此,当你想从一个系统传递到另一个数据,你必须在内存中代表一个可以由救援人员到场字节的网络字节流的尺寸数据转换。实际上,通过位,而位经常去救援人员到场压缩和安全加密。压缩和加密程序是面向对象的结构盲和比特流被假定。网络交换机是OO-结构盲。网络传输甚至不看位。比特被编码成是通常的模拟正弦信号,然后调制的传输信号。上述过程不会在OO结构化数据的多维/分层图式工作。

我想你可以执行对象级别混淆和加密,但你还是要允许系统转换那些比特流,通过将它们转换为第一个字符的数据流。

编组是当牧羊犬具有一群羊和执法官他们救援人员到场单羊桥混水。因此,编组有马歇尔我们的对象转换成串行大纲写在,这样,当信息羊群从桥的另一端出现,我们能够通过共轭demarshaller重新组装它们放回其层次图式引用。在我们的例子中,我们的羊不整理救援人员到场只是一个桥梁,但救援人员到场狭窄和不稳定的绕组和山体滑坡,其中,在每一轮的网络传输设备存储编组羊的副本,以确保他们能够重新发送该副本,以防任何的羊已经下降救援人员到场一个深谷。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top