一般来说如果你进行远程调用的话(在j2ee中调用ejb是返回的数据容易都要进行“串行化”)
解决方案 »
- jar包 深度混淆
- 大神们帮看下这段代码的意思的,好像是关于google邮件stmp的验证,但不懂是什么意思
- 存储过程blob参数问题
- java,把大量的数据导到excel上。速度奇慢的问题
- applicationContext.xml文件中加入事务管理的代码,就出现Servlet action is not available错误
- hibernate的SessionFactory使用问题
- 决定学JAVA各位给推几本好书看看
- java 中如何打印数据(即如何将取得的数据放到Execl表格中),求助!!!
- tomcat 向 weblogic的移植。。。
- java 小的算法问题 成对字符匹配问题
- relation的问题?
- 怎么SaxParser没有getXMLReader()这个方法?
包括任何的成员变量(public,protect,default,private).否则你的客户会因为序列化的版本冲突而崩溃。
Java 1.1增添了一种有趣的特性,名为“对象序列化”(Object Serialization)。它面向那些实现了Serializable接口的对象,可将它们转换成一系列字节,并可在以后完全恢复回原来的样子。这一过程亦可通过网 络进行。这意味着序列化机制能自动补偿操作系统间的差异。换句话说,可以先在Windows机器上创建一个对象,对其序列化,然后通过网络发给一台Unix机器,然后在那 里准确无误地重新“装配”。 不必关心数据在不同机器上如何表示,也不必关心字节的顺序或者其他任何细节。就其本身来说,对象的序列化是非常有趣的,因为利用它可以实现“有限持久化”。请记住“持久 化”意味着对象的“生存时间”并不取决于程序是否正在执行――它存在或“生存”于程序的每一次调用之间。通过序列化一个对象,将其写入磁盘,以后在程序重新调用时重新恢复 那个对象,就能圆满实现一种“持久”效果。之所以称其为“有限”,是因为不能用某种“persistent”(持久)关键字简单地地定义一个对象,并让系统自动照看其他所 有细节问题(尽管将来可能成为现实)。相反,必须在自己的程序中明确地序列化和组装对象。
....................
为序列化一个对象,首 先要创建某些OutputStream对象,然后将其封装到ObjectOutputStream对象内。此时,只需调用writeObject()即可完成对象的序列化 ,并将其发送给OutputStream。相反的过程是将一个InputStream封装到ObjectInputStream内,然后调用eadObject()。和往 常一样,我们最后获得的是指向一个上溯造型Object的句柄,所以必须下溯造型,以便能够直接设置。对象序列化特别“聪明”的一个地方是它不仅保存了对象的“全景图”, 而且能追踪对象内包含的所有句柄并保存那些对象;接着又能对每个对象内包含的句柄进行追踪;以此类推。我们有时将这种情况称为“对象网”,单个对象可与之建立连接。而且它 还包含了对象的句柄数组以及成员对象。若必须自行操纵一套对象序列化机制,那么在代码里追踪所有这些链接时可能会显得非常麻烦。在另一方面,由于Java对象的序列化似乎 找不出什么缺点,所以请尽量不要自己动手,让它用优化的算法自动维护整个对象网。