java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > java单例模式

Java单例模式的讲解

作者:李灿辉

今天小编就为大家分享一篇关于Java单例模式的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

1,单例模式的要素

上述2个要素虽然可以保证单例模式的实现,但并不是最好的方式。因为当我们讨论性能时,synchronized方法有着非常昂贵的代价。

2,多线程使用环境下的线程安全实现方式

3,protected 的构造函数

有时候,为了能够继承单例类,我们可以使用protected的构造函数。但是,这样会有2个缺点,让单例继承不实用。

4,使用不同类加载器的情景

如果一个类被2个类加载器加载了,那么,在内存里,它们是2个不同的类。

5,序列化

如果一个单例类实现了Serializable接口,当单例序列化,然后多次反序列化时,将会有多个对象被创建。

热点:

多线程:如果单例需要在多线程环境下使用,应该要特别留心。

序列化:当单例类实现了Serializable接口时,它必须重写readResolve方法来避免出现2个对象。

类加载器:如果单例类被2个不同的类加载器加载,那么我们会有2个不同的类,一个类加载器会有一个类。

通过类目进行全局访问:单例对象是通过类名获取的。初看起来,这是一个访问它的很简单的方式,但却不是很灵活。如果我们需要替换单例类,那么代码中所有引用的地方都需要修改。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

您可能感兴趣的文章:
阅读全文