CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

问下,io里的对象串行化Serializable是什么意思?

楼主gzhtcmliyaya()2006-03-04 09:11:56 在 Java / J2SE / 基础类 提问

可不可以举个形象的例子,TIJ里的例子看不懂 问题点数:20、回复次数:11Top

1 楼superman421(38度的雪)回复于 2006-03-04 09:20:08 得分 0

串行化就是把一个对象变成字节留用于网络传输。  
  简单点说就是会按某种规则分解一个对象知道它的每个属性为基本属性位置为止。然后可以用这个字符串恢复成一个相同的对象。  
  但是不是所有的对象都是可以序列化的。Top

2 楼superman421(38度的雪)回复于 2006-03-04 09:22:20 得分 0

Serializable这个接口不会做什么实质的事,只是标注这个对象是可以序列化的。系统会自动解析对象的。期间好象用到了反射机制,至少在你覆盖了写出和读入对象数据时是这样的。Top

3 楼sxy0713(沈骏)回复于 2006-03-04 10:49:11 得分 0

好比时空传输机(假如有的话).比如要把你传输到我这里来,当然你要先通过机器先把你"分解"成传输流,到我这里然后又"组装"回原来的你.你也可以选择先不到我这里,而是先待在哪个磁盘或者服务器里面,如果有哪个人叫你,马上可以把你叫到他那里去"组装"还原.呵呵~~够形象了?Top

4 楼horseyet(horseyet)回复于 2006-03-04 10:59:04 得分 0

那可不可以理解为传输之前先编码,之后解码呢?Top

5 楼treeroot(旗鲁特)回复于 2006-03-04 11:04:22 得分 0

upTop

6 楼zx2002027(http://www.netyi.net/in.asp?id=zx2002027)回复于 2006-03-04 11:25:01 得分 0

都讲完了Top

7 楼sxy0713(沈骏)回复于 2006-03-04 11:28:47 得分 0

编码和解码也可以这么理解,但是这是属于更底层的东西.Java提供的I/O流的种类非常多,都有自己适用范围.至于这些I/O流是如何实现的,你也可以去深究~Top

8 楼xiangzhengyan(千里单骑走西藏)回复于 2006-03-04 11:42:02 得分 0

可以把整个对象串行化后存入磁盘或在网络上传输  
   
  -------------------------  
  import   java.io.*;  
  class   Obj   implements   Serializable  
  {  
  int   i;  
  }  
  public   class   Test   {  
   
  public   static   void   main(String   []args)   throws   IOException  
  {  
  Obj   obj   =   new   Obj();  
  obj.i=1;  
   
  BufferedOutputStream   buffout   =   new   BufferedOutputStream(new   FileOutputStream("c:/test.txt"));  
  ObjectOutputStream   objout   =   new   ObjectOutputStream(buffout);  
   
  objout.writeObject(obj);//写入  
   
  objout.close();  
   
  }  
  }  
   
  //也可用同样方法把文件中内容读入类中  
  Top

9 楼superman421(38度的雪)回复于 2006-03-04 13:00:21 得分 0

确实我开始说错了,序列化之后的数据是可以通过任何形式保存和传播的。  
  说它是编码和解码也行,有那么点意思。(不过没有深入研究所编码和解码的定义,不知合适不)。  
  作为一个高效率的传播和保存方法还可以对序列化之后的数据进行压缩和进一步编码!  
  Top

10 楼jordan1(班君)回复于 2006-03-05 13:50:05 得分 0

都说完了,楼主明白了吧?Top

11 楼qingyuan18(zealot_tang)回复于 2006-03-05 19:10:09 得分 0

Serializable是个接口,实现了这个接口的类可以转化为字节流在网络中传输并在接收端还原成原来的类,实现该接口需要重写equals(Object   object)和HashCode()两个方法。Top

相关问题

  • “串行化”是什么意思?
  • 链表串行化(Serializable)的问题
  • 文件读写那里,串行化和并行化是什么意思?
  • dos串行通讯设置
  • 字体怎样串行化?
  • 串行通信和GPS
  • 何谓对象串行化
  • 串行通讯问题
  • 串行通信控件
  • 关于串行通讯

关键词

  • 编码
  • 序列化
  • 接口
  • 解码
  • 数据
  • 网络
  • 串行
  • 对象
  • 传输
  • objout

得分解答快速导航

  • 帖主:gzhtcmliyaya

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo