| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1043 人关注过本帖
标题:java中为什么要序列化
只看楼主 加入收藏
wtuaimmmm
该用户已被删除
收藏
已结贴  问题点数:20 回复次数:4 
java中为什么要序列化
提示: 作者被禁止或删除 内容自动屏蔽
搜索更多相关主题的帖子: java 序列 
2010-08-14 22:56
shellingford
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:19
帖 子:228
专家分:1348
注 册:2010-8-9
收藏
得分:6 
因为要持久化
对象存在于内存中,而Object ob=new Object();
其实ob只是一个存放了Object对象所在内存地址的变量,在一个JVM中,如果需要用直接用就是了,因为根据内存地址就可以在内存中找到对象。
但是如果在2个JVM中需要传递ob呢?直接把内存地址从一个JVM中传到另一个JVM中?地址可以传递过去,但是没有用,另一个JVM中不可能访问这个JVM的内存。更不用说跨网络传输对象,2台电脑更不可能直接根据内存地址去访问。所以就需要把对象变成二进制数据,将内存中的对象变为二进制数据的过程就叫序列化。二进制数据可以通过各种方法传递(包括网络传输)。等传输完了再进行反序列化,这样就可以达到在不同的JVM中,甚至不同的电脑中传递对象。

PS:见过有数据库直接保存Map对象的,也是用了序列化。
2010-08-14 23:24
gameohyes
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:53
帖 子:1275
专家分:3629
注 册:2009-3-5
收藏
得分:6 
支持ls
简单点理解的话就是:
序列化:将对象的状态保存至存储介质中(如硬盘等),至于有什么用ls说的特详细.

C#超级群 74862681,欢迎大家的到来!
2010-08-15 08:33
freish
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1223
专家分:437
注 册:2007-6-1
收藏
得分:4 
举个很简单的例子,A机器上有一个java服务,我在B机器上调用A的服务,A的结果只有序列化了才能传到B上面去

[url=http://shop63425653./]/cvbnm/a6/1d/f4/7dd1720119cf3b1dcfb570b467b24051.jpg" border="0" />[/url]
2010-08-15 23:38
syg5434
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:山沟沟
等 级:版主
威 望:10
帖 子:285
专家分:781
注 册:2010-2-28
收藏
得分:4 
我觉得最主要的是方便传递,特别是在网络中,就像打电话:声音-->电流-->声音

不要迷恋哥,嫂子会揍你。阿-弥-陀-佛--!
2010-08-16 09:13
快速回复:java中为什么要序列化
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015813 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved