hev*_*evi 1 java serialization
查看NotSerializableException在某些RMI缓存传输功能期间我遇到的域对象的服务器日志.我注意到域对象没有实现Serializable接口; 但是我对实施有点怀疑,Serializable因为我不知道它可能产生的副作用.它会在某个时候破裂吗?
如果没有副作用,为什么所有的物体都不是Serializable靠自己的?
实现Serializable没有任何副作用......除了使序列化机制考虑序列化之外的明显效果.
(当然,事实上,你implement的Serializable界面并不一定意味着序列化可以正常工作.例如,如果你的类有不可序列化的实例字段,这些字段不声明为transient,则正常的序列化机制将失败. )
如果没有副作用,为什么所有对象都不能自行序列化?
一个原因是某些对象具有无法捕获并通过序列化表示的状态.示例包括连接到JVM,Java线程和Java进程外部的数据源或接收器的所有类型的Streams.
第二个原因是(可以说)程序员应该决定一个类是否适合序列化.可能不合适的示例包括持有敏感信息的类或内部可能发生变化的类......使反序列化成为问题1.
1 - 在某种程度上可以处理这个问题,但程序员可能想说"我不想被迫处理这个问题"...对于他/她认为不应该序列化的课程.
| 归档时间: |
|
| 查看次数: |
886 次 |
| 最近记录: |