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

wordpress调用电话seo关键词优化推广报价多少钱

wordpress调用电话,seo关键词优化推广报价多少钱,网站建设的具体方法,外贸网站免费模板Java 序列化Serializable详解#xff08;附详细例子#xff09; 1、什么是序列化和反序列化Serialization#xff08;序列化#xff09;是一种将对象以一连串的字节描述的过程#xff1b;反序列化deserialization是一种将这些字节重建成一个对象的过程。 2、什么情况下需要… Java 序列化Serializable详解附详细例子 1、什么是序列化和反序列化Serialization序列化是一种将对象以一连串的字节描述的过程反序列化deserialization是一种将这些字节重建成一个对象的过程。   2、什么情况下需要序列化 a当你想把的内存中的对象保存到一个文件中或者数据库中时候b当你想用套接字在网络上传送对象的时候c当你想通过RMI传输对象的时候 3、如何实现序列化 将需要序列化的类实现Serializable接口就可以了Serializable接口中没有任何方法可以理解为一个标记即表明这个类可以序列化。   4、序列化和反序列化例子 如果我们想要序列化一个对象首先要创建某些OutputStream(如FileOutputStream、ByteArrayOutputStream等)然后将这些OutputStream封装在一个ObjectOutputStream中。这时候只需要调用writeObject()方法就可以将对象序列化并将其发送给OutputStream记住对象的序列化是基于字节的不能使用Reader和Writer等基于字符的层次结构。而反序列的过程即将一个序列还原成为一个对象需要将一个InputStream(如FileInputstream、ByteArrayInputStream等)封装在ObjectInputStream内然后调用readObject()即可。   package com.sheepmu; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable;public class MyTest implements Serializable {private static final long serialVersionUID 1L;private String nameSheepMu;private int age24;public static void main(String[] args){//以下代码实现序列化try {ObjectOutputStream oos new ObjectOutputStream(new FileOutputStream(my.out));//输出流保存的文件名为 my.out ObjectOutputStream能把Object输出成Byte流MyTest myTestnew MyTest();oos.writeObject(myTest); oos.flush(); //缓冲流 oos.close(); //关闭流} catch (FileNotFoundException e) { e.printStackTrace();} catch (IOException e) {e.printStackTrace();} fan();//调用下面的 反序列化 代码}public static void fan()//反序列的过程{ ObjectInputStream oin null;//局部变量必须要初始化try{oin new ObjectInputStream(new FileInputStream(my.out));} catch (FileNotFoundException e1){ e1.printStackTrace();} catch (IOException e1){e1.printStackTrace();} MyTest mts null;try {mts (MyTest ) oin.readObject();//由Object对象向下转型为MyTest对象} catch (ClassNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} System.out.println(namemts.name); System.out.println(agemts.age); } } 会在此项目的工作空间生成一个 my.out文件。序列化后的内容稍后补齐先看反序列化后输出如下   nameSheepMuage24 5、序列化ID 序列化 ID 在 Eclipse 下提供了两种生成策略一个是固定的 1L一个是随机生成一个不重复的 long 类型数据实际上是使用 JDK 工具生成在这里有一个建议如果没有特殊需求就是用默认的 1L 就可以这样可以确保代码一致时反序列化成功。这也可能是造成序列化和反序列化失败的原因因为不同的序列化id之间不能进行序列化和反序列化。   6.序列化前和序列化后的对象的关系 是 还是equal or 是浅复制还是深复制  答案深复制反序列化还原后的对象地址与原来的的地址不同 序列化前后对象的地址不同了但是内容是一样的而且对象中包含的引用也相同。换句话说通过序列化操作,我们可以实现对任何可Serializable对象的”深度复制deep copy——这意味着我们复制的是整个对象网而不仅仅是基本对象及其引用。对于同一流的对象他们的地址是相同说明他们是同一个对象但是与其他流的对象地址却不相同。也就说只要将对象序列化到单一流中就可以恢复出与我们写出时一样的对象网而且只要在同一流中对象都是同一个。   7.静态变量能否序列化 若把上面的代码中的 age变量前加上 static ,输出任然是 nameSheepMuage24 但是看下面的例子   package com.sheepmu; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; public class MyTest implements Serializable {private static final long serialVersionUID 1L;private String nameSheepMu;private static int age24;public static void main(String[] args){//以下代码实现序列化try {ObjectOutputStream oos new ObjectOutputStream(new FileOutputStream(my.out));//输出流保存的文件名为 my.out ObjectOutputStream能把Object输出成Byte流MyTest myTestnew MyTest();oos.writeObject(myTest); oos.flush(); //缓冲流 oos.close(); //关闭流} catch (FileNotFoundException e) { e.printStackTrace();} catch (IOException e) {e.printStackTrace();} fan();//调用下面的 反序列化 代码}public static void fan(){new MyTest().nameSheepMu_1;//!!!!!!!!!!!!!!!!重点看这两行 更改部分age1;//!!!!!!!!!!!!!!!!!!!重点看这两行 更改部分ObjectInputStream oin null;//局部变量必须要初始化try{oin new ObjectInputStream(new FileInputStream(my.out));} catch (FileNotFoundException e1){ e1.printStackTrace();} catch (IOException e1){e1.printStackTrace();} MyTest mts null;try {mts (MyTest ) oin.readObject();//由Object对象向下转型为MyTest对象} catch (ClassNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} System.out.println(namemts.name); System.out.println(agemts.age); } }输出结果为   nameSheepMuage1为何把最上面代码的age变量添上static 后还是反序列化出了24呢而新的从新对变量赋值的代码不是static的得到了序列化本身的值而static的则得到的是从新附的值。原因 序列化会忽略静态变量即序列化不保存静态变量的状态。静态成员属于类级别的所以不能序列化。即 序列化的是对象的状态不是类的状态。这里的不能序列化的意思是序列化信息中不包含这个静态成员域。最上面添加了static后之所以还是输出24是因为该值是JVM加载该类时分配的值。注transient后的变量也不能序列化但是情况稍复杂稍后开篇说。 8、总结: a当一个父类实现序列化子类自动实现序列化不需要显式实现Serializable接口 b当一个对象的实例变量引用其他对象序列化该对象时也把引用对象进行序列化 c static,transient后的变量不能被序列化 转载于:https://www.cnblogs.com/cx6872/p/6049839.html
http://www.huolong8.cn/news/345930/

相关文章:

  • 盗用别人的图片做网站犯法2017做啥网站能致富
  • 贵阳网站外包如何制作小程序视频教学
  • 滨州北京网站建设价格低安徽淮北发现一例
  • 做编程网站有哪些幻灯网站源码
  • 有下划线的网址是什么网站广西网站建设原创
  • 之路网站建设中山网站建设找阿江
  • 四川省建设勘察设计网站使用阿里云建网站
  • 新网站怎么运营线上运营的5个步骤
  • 2016年做网站能赚钱优秀的交互设计作品集
  • tomcat 建网站网页版微信传输助手怎么退出
  • 百度权重查询爱站网在vs中做网站
  • 网站seo诊断优化分析该怎么做网站建网站建站专业公司
  • 百度网站做pc自适应深圳培训学校
  • 合肥做网站价格玖壹购网站是做啥子的
  • iis默认网站属性承德做网站设计的
  • 网站制作怎么学去哪学吾爱源码
  • 怎样撰写企业网站建设方案城阳建设局网站
  • 网站建设汇报ppt专业网站制作企业
  • 个人做商贸网站网站开发怎么配合
  • 硬件开发项目流程而的跟地seo排名点击软件
  • 自己如何建设外贸网站建站酷狗音乐网站开发语言
  • 做网站让人来注册我和椅子做游戏小精灵网站
  • 优秀网站设计模板中企动力科技股份有限公司重庆分公司
  • 建设网站都需要下载那些软件关于协会网站建设的建议
  • 高中学校网站模板常州网站排名优化
  • 网站建设的新发展智慧团建入口官网
  • 同一人做多个主体网站负责人网站建设之婚礼摄影网站设计
  • 网站模板可视化编辑电子商务网站建设考卷
  • 网站后台ftp网站服务器商
  • 新开网站做内贸业务员好做wordpress前端获取头像