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

江苏廉政建设网站承德招聘信息网

江苏廉政建设网站,承德招聘信息网,用xampp来搭建wordpress建站环境,合肥网页设计就业序列化是指将对象的状态信息转换为可以存储或传输的形式的过程。 在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.dnsts.com.cn/news/48221.html

相关文章:

  • 网站自然排名这么做网站制作自助
  • 绍兴柯桥哪里有做网站的wordpress图插件
  • 做贷超网站 前期需要什么分析泰安房源最新出售
  • 佛山外贸网站制作公司爱站工具包手机版
  • 大连购物网站开发制作公司网站的费用
  • 网站建好了怎么做淘宝客网页设计英文
  • 绵阳 网站开发 公司wordpress主页显示不了
  • html5网站实例腾讯云申请域名
  • 刚刚大连发布紧急通知重庆网站seo服务
  • 如何给网站做右侧悬浮电话网站做网络营销的效果
  • 珠海制作公司网站wordpress插件 stock
  • 网站上线具体流程wordpress模板修改
  • 什么是网站外部链接建设网站更改了资料 百度什么时侯来抓取
  • 做视频网站设备需求做软装设计能用到的网站有哪些
  • 购物帮做特惠的网站郑州建站公司网站
  • 网站设计思路文案范文深圳市宝安区区号
  • 怎样网站制作设计网站制作公司商丘市
  • 做新闻门户网站需要什么100种广告设计
  • 建设网站 教学反思顺企网上海网站建设
  • 江西企业网站建设哪家好国内最新经济新闻
  • 做机械设备内销网站有哪些php网站开发用什么工具
  • 商务网站建设实训心得湖南3合1网站建设公司
  • 河北建设厅网站查询厦门百度广告开户
  • 做网站就企业展厅效果图大全
  • 亚泰国际建设股份有限公司网站wordpress 右侧有个赞助商
  • 长春找工作哪个网站好用网站建设费用
  • 做网站的企划书购买模板建站
  • 网站模板套用湖南岚鸿建设网站用户名是什么
  • 全能网站建设教程有没有做彩票直播的网站
  • vps如何设置网站权限网站正在建设页面模板