当前位置: 首页 > news >正文

网站建设公司果动c江苏廉政建设网站

网站建设公司果动c,江苏廉政建设网站,问卷调查网站赚钱,广东东莞有哪些厂招工信息序列化是指将对象的状态信息转换为可以存储或传输的形式的过程。 在Java中创建的对象#xff0c;只要没有被回收就可以被复用#xff0c;但是#xff0c;创建的这些对象都是存在于JVM的堆内存中#xff0c;JVM处于运行状态时候#xff0c;这些对象可以复用#xff0c; 但…序列化是指将对象的状态信息转换为可以存储或传输的形式的过程。 在Java中创建的对象只要没有被回收就可以被复用但是创建的这些对象都是存在于JVM的堆内存中JVM处于运行状态时候这些对象可以复用 但是一旦JVM停止这些对象的状态也就丢失了。 在实际生活中需要将对象持久化需要的时候再重新读取出来通过对象序列化可以将对象的状态保存为字节数组需要的时候再将字节数组反序列化为对象。 对象序列化可以很容易的在JVM中的活动对象和字节数组(流)之间转换广泛用于RMI(远程方法调用)以及网络传输中。 特别注意 a.静态成员变量属于类不属于对象所以不会参与序列化(对象序列化保存的是对象的“状态”也就是它的成员变量因此序列化不会关注静态变量) b.用transient关键字标记的成员变量不参与序列化(在被反序列化后transient 变量的值被设为初始值如 int 型的是 0对象型的是 null) (1).Serializable 1 uses-permission android:nameandroid.permission.READ_EXTERNAL_STORAGE/uses-permission 2 uses-permission android:nameandroid.permission.WRITE_EXTERNAL_STORAGE/uses-permission 复制代码 1 import java.io.Serializable; 2  3 public class StudentSerializable implements Serializable { 4      5 //指定serialVersionUID 6 //因为原则上序列化后的数据中的serialVersionUID只有和当前类的serialVersionUID相同时才能被正常的反序列化 7 //最好自己指定UID或者系统生成因为如果增加或者删除了某些成员变量那么系统就会重新生成hash值然后赋给UID导致反序列化时候crash 8 private static final long serialVersionUID 10000000000000000L;  9      10 private int Uid; 11 private String Name ; 12      13 public int getUid() { 14 return Uid; 15 } 16 public void setUid(int uid) { 17 Uid uid; 18 } 19 public String getName() { 20 return Name; 21 } 22 public void setName(String name) { 23 Name name; 24 } 25 Override 26 public String toString() { 27 return StudentSerializable [Uid Uid , Name Name ]; 28 } 29  30 } 复制代码 复制代码 1 private void DealSerializable() throws IOException { 2 // Initializes The Object 3 StudentSerializable stu new StudentSerializable(); 4 stu.setUid(9027); 5 stu.setName(fish);         6          7 File extDir Environment.getExternalStorageDirectory(); 8 String filename tempFile.txt; 9 File fullFilename new File(extDir, filename); 10           11 try { 12 fullFilename.createNewFile(); 13 fullFilename.setWritable(Boolean.TRUE); 14 fullFilename.setReadable(Boolean.TRUE); 15               16 } catch (IOException e) { 17 // TODO Auto-generated catch block 18 e.printStackTrace(); 19 } 20  21 // Write Obj to File 22 ObjectOutputStream oos null; 23 try { 24 oos new ObjectOutputStream(new FileOutputStream(fullFilename.getAbsoluteFile())); 25 oos.writeObject(stu); 26 } catch (IOException e) { 27 e.printStackTrace(); 28 } finally { 29 //oos.close(); 30 } 31  32 // Read Obj from File 33 //File file new File(tempFile.txt); 34 ObjectInputStream ois null; 35 try { 36 ois new ObjectInputStream(new FileInputStream(fullFilename.getAbsoluteFile())); 37 StudentSerializable newStu (StudentSerializable) ois.readObject(); 38 System.out.println(newStu); 39 } catch (IOException e) { 40 e.printStackTrace(); 41 } catch (ClassNotFoundException e) { 42 e.printStackTrace(); 43 } finally { 44 //ois.close(); 45 } 46 } 复制代码 在使用时通常是和ObjectOutputStream 以及 ObjectInputStream 配套一起使用准确的说是和ObjectOutputStream 里的writeObject () 和 ObjectInputStream 里的 readObject () 一起使用。writeObject()方法是最重要的方法用于对象序列化。如果对象包含其他对象的引用则writeObject()方法递归序列化这些对象。 (2).Parcelable 复制代码 1 import android.os.Parcel; 2 import android.os.Parcelable; 3  4 public class StudentParcelable implements Parcelable{ 5      6 private int Uid; 7 private String Name ; 8      9 private Book book ; 10      11 public StudentParcelable(int uid, String name) { 12 super(); 13 Uid uid; 14 Name name; 15 } 16      17 public int getUid() { 18 return Uid; 19 } 20 public void setUid(int uid) { 21 Uid uid; 22 } 23 public String getName() { 24 return Name; 25 } 26 public void setName(String name) { 27 Name name; 28 } 29  30  31 //功能返回当前对象的内容描述如果含有文件描述符返回1 32 //即CONTENTS_FILE_DESCRIPTOR 33 //几乎所有情况都会返回0 34 Override 35 public int describeContents() { 36 // TODO Auto-generated method stub 37 return 0; 38 } 39  40 /** 41 * 序列化功能由writeToParcel完成最终通过Parcel的一系列Write方法完成 42 */ 43 //功能将当前对象写入序列化结构中其中flags标识有两种值0或1 44 //为1时标识当前对象需要作为返回值返回不能立刻释放资源即PARCELABLE_WRITE_RETURN_VALUE 45 //不过几乎所有情况都为0 46 Override 47 public void writeToParcel(Parcel dest, int flags) { 48 // TODO Auto-generated method stub 49 dest.writeInt(Uid); 50 dest.writeString(Name); 51 dest.writeParcelable(book, 0); 52 } 53      54 /** 55 * 反序列化由CREATOR来完成其内部标明了如何创建序列化对象和数组 56 * 并通过Parcel的一系列read方法来完成反序列化 57 */ 58 public StudentParcelable(Parcel source){ 59 Uid source.readInt(); 60 Name
http://www.hkea.cn/news/14572028/

相关文章:

  • 郑州网站优化哪家好石家庄商城网站制作
  • 七星彩网站开发公司小型购物网站模板
  • 网站课程设计报告哪家做网站
  • 在免费空间上传网站为什么访问不了中国网新山东
  • 网站备案期间 权重重庆做网站设计
  • 广西城乡建设部网站河南新闻头条最新事件
  • 查看别人网站的访问量安庆哪些做网站的公司好
  • 网站制作的销售对象建设银行短信开通网站
  • 国内权重网站排名建设银行官网首页网站公告
  • 达美网站建设ppt设计大赛
  • 网站开发运行环境论文一分钟企业宣传片怎么拍
  • 可以做任务的网站有哪些内容网站主机租用多少钱
  • 要想让别人网站卖我的东西怎么做源码之家模板下载
  • 360产品展示网站WordPress的app模板
  • 深圳市土方建设网站网站规划与建设评分标准
  • 上海服饰网站建设个人备案网站做淘宝客
  • 怎么做网站排名优化西安网站建设外包服务
  • 青岛网站建设搭建下载类网站 前置备案
  • 现在流行的网站开发制作工具百度网站入口链接
  • 广东个人 网站备案做房产抵押网站需要什么
  • 石家庄建站模板搭建wordpress模板引擎
  • 网站建设开发兴田德润免费软件下载网站排行
  • 网站集约化建设困难网站素材 下载
  • 高端建站模版百度提交网站改版
  • 大连网站公司易语言如何做代刷网站
  • 建立网站需要多少钱wordpress product插件
  • 中国建设银行征信网站网站的建设流程是什么
  • 广东官方移动网站建设哪家好有没有接做网站私活的平台
  • 湛江做网站苏州厂商好的用户体验网站
  • 综合门户网站有哪些如何制作一个自己的网页