论坛首页 入门技术论坛

求问 java 的对象序列化

浏览 1840 次
该帖已经被评为新手帖
作者 正文
   发表时间:2008-04-15  
OO
自己在网上找了一下,基本上都是怎么用,都是说 继承Serializable  接口
然后writeObject
另一方readObject
希望各位能指导一下, ObjectOutputStream 对 这个对象做了什么,怎么做,让他序列化,并且能够恢复的?
谢谢了... ...

菜鸟在这里的第一帖。
   发表时间:2008-04-20  
首先,JAVA是可以对一些基本对象进行序列化的,比如:String,int,byte等;
然后,如果是其他对象,但是属性由这些基本对象组成,那么JAVA也可以对她们实行序列化。

ObjectOutputStream的writeObject和readObject实质上就是把对象转换成字节数组的过程以及相反的过程,这个过程中,ObjectOutputStream需要记录对象所占字节的长度(它是根据它的基本对象属性的长度来计算的,比如一个char是2个字节,等等),然后按照一定的顺序序列化所有基本属性,如果有些属性是无法被序列化的(比如Thread),那么序列化将失败。

不知道说清楚没有。。。
0 请登录后投票
   发表时间:2008-04-20  
ObjectOutputStream通过连接一个输出流比方说,文件输出或者字节数组输出流把对象的状态保存到文件或者字节数组里,用的时候把ObjectInputStream连接到文件或者字节数组就可以把对象读出来.有点数据持久化的意思.(数据对象的轻量级封装).
   说白了序列化就是就把把对象信息写到文件里保存起来.如果不序列化的话,对象出了作用域是要被GC掉的,我也是个菜鸟这是我的个人理解.
0 请登录后投票
   发表时间:2008-10-05  
说清楚了,谢谢...
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics