对象序列化的危害有多大?

如果一个函数或者对象, 不管它位于多么遥远的地方, 都可以在本地直接被调用, 那该有多好呀!

比如远程
过程调用(RPC) 、 远程方法调用(RMI) 、 分布式对象(Distributed Object) 、 组件对象模型(COM) 、 公共对象请求代理(CORBA) 和简单对象访问协议(SOAP) 等……这个列表还可以很长很长。

躲在这些协议背后的核心技术之一, 就是序列化。

简单地说, 序列化就是要把一个使用场景中的一个函数或者对象以及它们的执行环境, 打包成一段可以传输的数据, 然后把该数据传输给另
外一个使用场景。 在这个使用场景中, 该数据被拆解成适当的函数或者对象, 包括该函数或者对象的执行环境。 这样, 该函数或者对象就可以在不同的场景下使用了

数据拆解的过程, 就是反序列化。 打包、 传输、 拆解是序列化技术的三个关键步骤。
由于传输的是数据, 打包和拆解可能使用不同的编程语言, 运行在不同的操作系统上。 这样就带来了跨平台和跨语言的好处。 而数据能够传输, 就意味着可以带来分布式的好处。 数据当然也可以存储, 而可以存储意味着相关对象的生命周期的延长, 这是不是也是一个非常值得兴奋的特点?
的确是一个美妙的想法, 对吧? 如果一个想法不是足够好, 它也不会造成足够坏的影响。

代码有什么问题吗? 该怎么解决这个问题?

public class Person implements Serializable {
   
// <snipped>
private String firstName;
private String lastName;
private String birthday;
private String socialSecurityNumber;
public Person(String firstName, String lastName,
String birthday, 
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值