仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 618|回复: 15
打印 上一主题 下一主题

[学习教程] 了解下JAVA的Java对象的序列化和反序列化理论

[复制链接]
愤怒的大鸟 该用户已被删除
跳转到指定楼层
#
发表于 2015-1-18 11:19:20 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
先谈谈我对java的一些认识。我选择java,是因为他语法简单,功能强大,从web,到桌面,到嵌入式,无所不能。但当我进一步了解了java后,感叹,java原来也有许多缺点。
当两个历程在举行远程通讯时,相互能够发送各类范例的数据。不管是何品种型的数据,城市以二进制序列的情势在收集上传送。发送方必要把这个Java对象转换为字节序列,才干在收集上传送;吸收方则必要把字节序列再恢复为Java对象。
把Java对象转换为字节序列的历程称为对象的序列化。
把字节序列恢复为Java对象的历程称为对象的反序列化。
对象的序列化次要有两种用处:
1)把对象的字节序列永世地保留到硬盘上,一般寄存在一个文件中;
2)在收集上传送对象的字节序列。
一.JDK类库中的序列化API
java.io.ObjectOutputStream代表对象输入流,它的writeObject(Objectobj)办法可对参数指定的obj对象举行序列化,把失掉的字节序列写到一个方针输入流中。
java.io.ObjectInputStream代表对象输出流,它的readObject()办法从一个源输出流中读取字节序列,再把它们反序列化为一个对象,并将其前往。、
只要完成了Serializable和Externalizable接口的类的对象才干被序列化。Externalizable接口承继自Serializable接口,完成Externalizable接口的类完整由本身来把持序列化的举动,而仅完成Serializable接口的类能够接纳默许的序列化体例。
对象序列化包含以下步骤:
1)创立一个对象输入流,它能够包装一个其他范例的方针输入流,如文件输入流;
2)经由过程对象输入流的writeObject()办法写对象。
对象反序列化的步骤以下:
1)创立一个对象输出流,它能够包装一个其他范例的源输出流,如文件输出流;
2)经由过程对象输出流的readObject()办法读取对象。
<p>
C#跟java类似,但是在跨平台方面理论上可以跨平台,实际上应用不大,执行性能优于java,跟C++基本一致,但是启动速度还是慢.代码安全,但容易性能陷阱.
再现理想 该用户已被删除
15#
发表于 2015-3-29 04:53:16 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
小魔女 该用户已被删除
14#
发表于 2015-3-19 17:10:44 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
变相怪杰 该用户已被删除
13#
发表于 2015-3-12 00:42:11 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
蒙在股里 该用户已被删除
12#
发表于 2015-3-7 00:50:07 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
小女巫 该用户已被删除
11#
发表于 2015-3-6 16:58:42 | 只看该作者
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
小妖女 该用户已被删除
10#
发表于 2015-3-5 00:17:37 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
乐观 该用户已被删除
9#
发表于 2015-2-22 00:53:50 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
山那边是海 该用户已被删除
8#
发表于 2015-2-7 13:28:55 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
若相依 该用户已被删除
7#
发表于 2015-2-5 14:25:49 | 只看该作者
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
飘灵儿 该用户已被删除
6#
发表于 2015-2-4 20:17:36 | 只看该作者
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
海妖 该用户已被删除
5#
发表于 2015-2-1 12:33:44 | 只看该作者
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
飘飘悠悠 该用户已被删除
地板
发表于 2015-1-27 17:52:31 | 只看该作者
是一种使用者不需花费很多时间学习的语言
因胸联盟 该用户已被删除
板凳
发表于 2015-1-26 21:18:28 | 只看该作者
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
只想知道 该用户已被删除
沙发
发表于 2015-1-24 06:10:28 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
不帅 该用户已被删除
楼主
发表于 2015-1-19 05:13:09 | 只看该作者
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 20:32

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表