全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

java 中序列化与readResolve()方法的实例详解

java 中序列化与readResolve()方法的实例详解

    readResolve方法是作用是什么?这个方法跟对象的序列化相关(这样倒是解释了为什么 readResolve方法是private修饰的)。 怎么跟对象的序列化相关了?

       下面我们先简要地回顾下对象的序列化。一般来说,一个类实现了 Serializable接口,我们就可以把它往内存地写再从内存里读出而"组装"成一个跟原来一模一样的对象。不过当序列化遇到单例时,里边就有了个问题:从内存读出而组装的对象破坏了单例的规则。单例是要求一个JVM中只有一个类对象的,而现在通过反序列,一个新的对象克隆了出来。如下例所示:

  Java代码:

public final class MySingleton implements Serializable { 
   private MySingleton() { } 
   private static final MySingleton INSTANCE = new MySingleton(); 
   public static MySingleton getInstance() { return INSTANCE; } 
} 

       当把 MySingleton对象(通过getInstance方法获得的那个单例对象)序列化后再从内存中读出时,就有一个全新但跟原来一样的MySingleton对象存在了。那怎么来维护单例模式呢?这就要用到readResolve方法。 如下所示: 

public final class MySingleton implements Serializable{ 
  private MySingleton() { } 
  private static final MySingleton INSTANCE = new MySingleton(); 
  public static MySingleton getInstance() { return INSTANCE; } 
  private Object readResolve() throws ObjectStreamException { 
    // instead of the object we're on, 
    // return the class variable INSTANCE 
   return INSTANCE; 
  } 
} 

           这样,当JVM从内存中反序列化地"组装"一个新对象时,就会自动调用这个 readResolve方法来返回我们指定好的对象了,单例规则也就得到了保证。

以上就是java 中序列化与readResolve()方法的实例,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# java  # 中序列化与readResolve()方法  # 中序列化与readResolve()方法的分析  # 浅谈序列化之protobuf与avro对比(Java)  # java如何利用FastJSON、Gson、Jackson三种Json格式工具自定义时间序列化  # java序列化和serialVersionUID的使用方法实例  # java 序列化与反序列化的实例详解  # java 中Spark中将对象序列化存储到hdfs  # 浅谈java中为什么实体类需要实现序列化  # Java 序列化和反序列化实例详解  # java 中序列化NotSerializableException问题解决办法  # 序列化  # 所示  # 化与  # 就会  # 也就  # 就有  # 如有  # 把它  # 这就  # 希望能  # 要用  # 只有一个  # 谢谢大家  # 方法来  # 就可以  # 得到了  # 疑问请  # 实现了  # 破坏了  # Serializable 


相关文章: 建站之星北京办公室:智能建站系统与小程序生成方案解析  ,柠檬视频怎样兑换vip?  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】  seo网站制作优化,网站SEO优化步骤有哪些?  常州企业网站制作公司,全国继续教育网怎么登录?  如何用wdcp快速搭建高效网站?  如何在万网主机上快速搭建网站?  如何选择服务器才能高效搭建专属网站?  行程制作网站有哪些,第三方机票电子行程单怎么开?  公众号网站制作网页,微信公众号怎么制作?  如何选择建站程序?包含哪些必备功能与类型?  香港服务器租用费用高吗?如何避免常见误区?  ,南京靠谱的征婚网站?  如何在IIS中配置站点IP、端口及主机头?  小建面朝正北,A点实际方位是否存在偏差?  建站主机如何安装配置?新手必看操作指南  高端云建站费用究竟需要多少预算?  如何选购建站域名与空间?自助平台全解析  网站制作知乎推荐,想做自己的网站用什么工具比较好?  网站app免费制作软件,能免费看各大网站视频的手机app?  枣阳网站制作,阳新火车站打的到仙岛湖多少钱?  网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?  音乐网站服务器如何优化API响应速度?  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  建站之星安装后如何配置SEO及设计样式?  如何基于云服务器快速搭建网站及云盘系统?  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?  如何设置并定期更换建站之星安全管理员密码?  C#如何序列化对象为XML XmlSerializer用法  可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?  沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?  怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?  ,网站推广常用方法?  广州顶尖建站服务:企业官网建设与SEO优化一体化方案  太平洋网站制作公司,网络用语太平洋是什么意思?  免费视频制作网站,更新又快又好的免费电影网站?  股票网站制作软件,网上股票怎么开户?  ,在苏州找工作,上哪个网站比较好?  如何通过万网虚拟主机快速搭建网站?  青岛网站建设如何选择本地服务器?  零基础网站服务器架设实战:轻量应用与域名解析配置指南  电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?  如何快速搭建高效香港服务器网站?  高性价比服务器租赁——企业级配置与24小时运维服务  如何在Windows虚拟主机上快速搭建网站?  如何注册花生壳免费域名并搭建个人网站?  小说建站VPS选用指南:性能对比、配置优化与建站方案解析  大连网站制作公司哪家好一点,大连买房网站哪个好? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。