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小时内与您取得联系。