专业的JAVA编程教程与资源

网站首页 > java教程 正文

Java—认识单例模式(java单例模式原理)

temp10 2024-09-22 09:59:56 java教程 8 ℃ 0 评论

1、单例模式的功能

单例模式是用来保证这个类在运行期间只会被创建一个类实例,另外,单例模式还提供了一个全局唯一访问这个类实例的访问点,就是getInstance()方法。不管釆用懒汉式还是饿汉式的实现方式,这个全局访问点是一样的。

Java—认识单例模式(java单例模式原理)

对于单例模式而言,不管釆用何种实现方式,它都是只关心类实例的创建问题,并不关心具体的业务功能。

2、单例模式的范围

也就是在多大范围内是单例呢?

观察上面的实现可以知道,目前Java里面实现的单例是一个虚拟机的范围。因为装载类的功能是虚拟机的,所以一个虚拟机在通过自己的ClassLoader 装载饿汉式实现单例类的时候就会创建一个类的实例。

这就意味着如果一个虚拟机里面有很多个ClassLoader,而且这些ClassLoader 都装载某个类的话,就算这个类是单例,它也会产生很多个实例。当然,如果一个机器上有多个虚拟机,那么每个虚拟机里面都应该至少有一个这个类的实例,也就是说整个机器上就有很多个实例,更不会是单例了。

3、单例模式的命名

注意:

另外请注意一点,这里讨论的单例模式并不适用于集群环境,对于集群环境下的单例这里不去讨论,它不属于这里的内容范围。

一般建议单例模式 的方法命名为getInstance (),这个方法的返回类型肯定是单例类的类型了,gerInstance()方法可以有参数,这些参数可能是创建类实例所需要的参数,当然,大多数情况下是不需要的,

单例模式的名称有单例、单件、单体等、只是翻译的不同,都是指的同一个模式。

好了今天就先给大家说到这吧。有喜欢的朋友可以在下方评论,我们一起来探讨。下回说说懒汉式和饿汉式实现。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表