一、什么是单例设计模式
单例(单个的实例)
1.所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法
2单例模式有两种方式:1)饿汉式2)懒汉式
①饿汉式:
- 将构造器私有化
- 在类的内部直接创建对象(该对象是 static)
- 提供一个公共的 static 方法,返回 对象
②懒汉式:
1.仍然構造器私有化
2.定義一個 static 靜態屬性對象
3.提供一個 public 的 static 方法,可以返回一個 Cat 對象
4.懶漢式,只有當用戶使用 getInstance 時,才返回 cat 對象, 後面再次調用時,會返回上次創建的 cat 對象
二、饿汉式VS懒汉式
1.二者最主要的区别在于创建对象的时机不同:
饿汉式是在类加载就创建了对象实例,
而懒汉式是在使用时才创建。
2饿汉式不存在线程安全问题,懒汉式存在线程安全问题。(后面学习线程后,会完善一把)
3.饿汉式存在浪费资源的可能。因为如果程序员一个对象实例都没有使用,那么饿汉式创建的对象就浪费了,懒汉式是使用时才创建,就不存在这个问题。
4、在我们javaSE标准类中,java.lang.Runtime就是经典的单例模式。
后续学习过程中会加深和补充。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)