其他分享
首页 > 其他分享> > 单例模式

单例模式

作者:互联网

单例模式就是指,采取一定方法,在整个软件系统中,对某一个类只创建一个对象实例,并只提供一个公共方法来取得这个对象实例

 

饿汉式

1.构造器私有化----->防止在类外创建对象,确保只创建一个对象

2.在类中创建一个static对象,并用static方法来返回这个对象(因为如果不用static方法的话,在类的外面就要创建对象来调用这个方法,这不符合我们的"一个对象"原则,而又因为静态方法只能使用静态成员,所以这个唯一的实例对象也只能是static)

 

之所以叫饿汉式,是因为你不管用没用这个类的对象,他都先帮你创建出来了,饿汉就像一辈子没吃过饭一样,在这里就像一辈子没创建过对象一样,饿汉还没开饭就冲去吃饭,还没遇到需要对象的时候就帮你创建对象。

 

懒汉式

1.构造器私有化

2.创建一个static对象引用

3.建立一个static方法,这个方法将判断static对象引用是否为空,为空就判断这个类还没有创建对象,然后将创建一个新对象,并把地址赋给对象引用,然后返回对象引用

 

饿汉式VS懒汉式

1.饿汉式是类加载时就创建了对象,懒汉式是要使用的时候才创建对象

2.饿汉式不存在线程安全问题,懒汉式存在线程安全问题

3.饿汉式有可能会浪费资源,因为不一定会调用事先被创建好的对象,懒汉式则不会

ps:在javaSE标准类中,java.lang.RunTime就是经典的单例模式

标签:单例,对象,创建,创建对象,模式,static,饿汉,懒汉
来源: https://www.cnblogs.com/codemelo/p/15978922.html