课程咨询 :186 1532 8705 QQ:2720475033

烟台java培训 > 达内新闻 > java中强大的武器-对象的序列化
  • java中强大的武器-对象的序列化

    发布:烟台达内      来源:烟台达内      时间:2015-12-04

  •   java中强大的武器-对象的序列化

         所谓对象序列化就是将对象的状态转换成字节流,以后可以通过这些值再生成相同状态的对象。这个过程也可以通过网络实现,可以先在Windows机器上创建一个对象,对其序列化,然后通过网络发给一台Unix机器,然后在那里准确无误地重新“装配”。是不是很神奇。也许你会说,只了解一点点,但从来没有接触过,其实未必如此。RMI、Socket、JMS、EJB你总该用过一种吧,彼此为什么能够传递Java对象,当然都是对象序列化机制的功劳。
       第一次使用Java的对象序列化是做某项目,当时要求把几棵非常复杂的树(JTree)及相应的数据保存下来(就是我们常用的保存功能),以便下次运行程序时可以继续上次的操作。那时XML技术在网上非常的热,而且功能 强大,再加上树的结构本来就和XML存储数据的格式很像。作为一项对新技术比较有兴趣的我当然很想尝试一下。不过经过仔细分析,发现如果采用XML保存数据,后果真是难以想象:哪棵树的哪个节点被展开、展开到第几级、节 当前的属性是什么。真是不知该用A、B、C还是用1、2、3来表示。还好,发现了Java的对象序列化机制,问题迎刃而解,只需简单的将每棵树的根节点序列化保存到硬盘上,下次再通过反序列化后的根节点就可以轻松的构造出和原来一模一样的树来。
       其实保存数据,尤其是复杂数据的保存正是对象序列化的典型应用。最近另一个项目就遇到了需要对非常复杂的数据进行存取,通过使用对象的序列化,问题同样化难为简,对象的序列化还有另一个容易被大家忽略 的功能就是对象复制(Clone),Java中通过Clone机制可以复制大部分的对象,但是众所周知,Clone有深层Clone和浅层Clone,如果你的对象非常非常复杂,假设有个100层的Collection(夸张了点),如果你想实现深层Clone,真是不敢想象,如 果使用序列化,不会超过10行代码就可以解决。

    推荐文章

上一篇:java跨平台特性的利与弊

下一篇:java的学习之道

最新开班日期  |  更多

java--名企定制班

java--名企定制班

开班日期:2015年12月30日

java--零基础脱产班

java--零基础脱产班

开班日期:2015年12月29日

java--在职提升班

java--在职提升班

开班日期:2015年12月28日

java--零基础周末班

java--零基础周末班

开班日期:2015年12月29日

  • 地址:海港路25号阳光100城市广场A座0402
  • 课程培训电话:186 1532 8705 QQ:2720475033     全国服务监督电话:400-111-8989
  • 服务邮箱 tousu@tedu.cn
  • 2001-2015 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56