序列化中自定义的readObject,writeObject是如何实现回调的

insiku 2007-06-05 11:09:19
自定义的序列化

private void readObject(ObjectInputStream in) throws ClassNotFoundException, IOException
{}


private void writeObject(ObjectOutputStream out) throws IOException
{}

这2个方法是如何在序列化的时候实现回调的?

没有继承 没有实现接口 序列化的时候如何知道这个类有没有实现自定义的序列化?

难道用反射查找方法?
这就是序列化慢的原因?
...全文
314 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
DancingCalf 2008-10-23
  • 打赏
  • 举报
回复
和楼主同感。
确实是使用Reflect来做的,不明白为什么这么暧昧,给人感觉是,设计者不想让人定制该2个方法。
insiku 2007-06-07
  • 打赏
  • 举报
回复
为什么要用反射呢?
而不用接口来实现回调呢?
这样做有什么用意? 好处?

自定义序列化
Externalizable
这里为什么又用上接口?
insiku 2007-06-06
  • 打赏
  • 举报
回复

应该用类的反射机制去查找方法的,慢的原因是因为涉及到磁盘的操作才慢的吧(呵呵,个人观点)
=========================

将输出流接到sysout上 还是慢
insiku 2007-06-06
  • 打赏
  • 举报
回复
为什么要用反射呢?
而不用接口来实现回调呢?
这样做有什么用意? 好处?

自定义序列化
Externalizable
这里为什么又用上接口?
「已注销」 2007-06-05
  • 打赏
  • 举报
回复
估计是反射,唯一可循的就是实现了序列化接口
fengmingjie 2007-06-05
  • 打赏
  • 举报
回复
应该用类的反射机制去查找方法的,慢的原因是因为涉及到磁盘的操作才慢的吧(呵呵,个人观点)
frilly 2007-06-05
  • 打赏
  • 举报
回复
这两个方法应该是对应调用吧,writeObject写入,readObject读出
insiku 2007-06-05
  • 打赏
  • 举报
回复
up

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧