浅谈java序列化那些知识

浅谈java序列化那些知识

ID:46857204

大小:80.50 KB

页数:15页

时间:2019-11-28

浅谈java序列化那些知识_第1页
浅谈java序列化那些知识_第2页
浅谈java序列化那些知识_第3页
浅谈java序列化那些知识_第4页
浅谈java序列化那些知识_第5页
资源描述:

《浅谈java序列化那些知识》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、浅谈java序列化那些知识下面和大家分享的是j3V3序列化的一些基础知识,希望能够带给大家帮助。1Java序列化技术概述Java序列化技术可以使你将一个对象的状态写入一个Byte流里,并且可以从其它地方把该Byte流里的数据读出来。重新构造一个相同的对象。这种机制允许你将对彖通过网络进行传播,并可以随时把对象持久化到数据库、文件等系统里。Java的序列化机制是RMI、EJB、JNNI等技术的技术基础。1.1序列化技术基础并非所有的Java类都可以序列化,为了使你指定的类可以实现序列化,你必须使该类实现如下接口:java.io

2、.Serializable需耍注意的是,该接口什么方法也没有。实现该类只是简单的标记你的类准备支持序列化功能。我们来看如下的代码://***抽彖基本类,完成一些基本的定义*/publicabstractclassHumanoid{protectedintnoOfHeads;privatestaticinttotalHeads;publicHumanoid(){this(1);ipublicHumanoid(intnoOfHeads){if(noOfHeads>10)thrownewError(/zBeserious.More

3、than10heads?!");this.noOfHeads=noOfHeads;synchronized(Humanoid,class){totalHeads+=noOfHeads;publicintgetHeadCount()returntotalHeads;该类的一个子类如下:/***Humanoid的实现类,实现了序列化接口*/importjava,io.*;publicclassPersonextcndsHumanoidimplemontsjava.io.Serializable{privateStringlast

4、Name;privateStringfirstNamc;privatetransientThreadworkcrThrcad;privatestaticintpopulation;publicPerson(StringlastNamc,StringfirstNamc){this.lastNamc二lasthis.firstMamc=firstMamc;synchronizcd(Person.class){population++;丿1}publicStringtoString(){return"Person"+firstMa

5、mc+""+lastName;丿1staticsynchronizedpublicintgctPopulation(){rcturnpopulation;1.2对象的序列化及反序列化上面的类Person类实现了Serializable接口,因此是可以序列化的。我们如果耍把一个可以序列化的对象序列化到文件里或者数据库里,需耍下而的类的支持:java.io.ObjectOutputStream如何正确的使用Java序列化技术技术研究系列下面的代码负责完成Person类的序列化操作:/***Person的序列化类,通过该类把Per

6、son写入文件系统里。*/importjava・io.*;publicclassWriteinstance{publicstaticvoidm3in(String[]args)throwsException{if(args・length!=1){System.out.println(〃usage:javaWritclnstanccfile");System・exit(T);丿1FilcOutputStreamfos=newFilcOutputStrc3m(3rgs[0]);ObjcctOutputStreamoos=newO

7、bjcctOutputStrcam(fos);Pcrsonp=newPerson("gaoyanbing〃,,,haigcr,z);oos.writcObjcct(p);}I如果我们要序列化的类其实是不能序列化的,则对其进行序列化时会抛出下面的异常:java・io.NotSerializablcExccption当我们把Person序列化到一个文件里以后,如果需要从文件中恢复Person这个对象,我们需要借助如下的类:java・io.ObjcctInputStream从文件里把Person类反序列化的代码实现如下:/***P

8、erson的反序列化类,通过该类从文件系统屮读出序列化的数据,并构造一*个Person对象。*/importjava・io.*;publicclassReadinstance{publicstaticvoidmain(String[]args)throwsException{if(args

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。