JAVA_单例设计模式

Posted LastCoder

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA_单例设计模式相关的知识,希望对你有一定的参考价值。

单例设计模式是指:实现某个类在内存中只有唯一一个对象的设计模式。分为饿汉式和懒汉式模式:

想要一个工程在运行的时候,某个类在内存中只有一个唯一的对象,那么,要保证:

首先,其他类不能创建该对象--------------------------该对象所属类的构造方法为private修饰(就不能在其他类里面创建本类对象了)                                         

其次,该对象要可以被其他类访问,那么只能在该对象所属类中创建一个该对象 --------------------------在该类中定义一个private static 修饰的本类对象

最后,必须在这个类里面提供访问方法,以便其他类可以访问--------------------------------------在该类中定义一个public static 修饰的,返回值类型为本类引用 的方法

1. 饿汉式设计模式:

class singleColumn{

private singleColumn(){}

private static singleColumn targetObject = new singleColumn();

public static singleColumn requestMethod (){

return targetObject;

}

}

class mainClass{

public static void main(String[] args){

singleColumn targetObject = singleColumn.requestMethod();

}

}

 

2. 懒汉式设计模式:

class singleColumn{

private singleColumn(){}

private static singleColumn targetObject = null;

public static singleColumn requestMethod (){

targetObject = new singleColumn();

return targetObject;

}

}

class mainClass{

public static void main(String[] args){

singleColumn targetObject = singleColumn.requestMethod();

}

}

 

饿汉式和懒汉式的区别在于:前者是在类初始化的时候就完成了静态对象的构建,后者是在调用访问方法的时候才完成的构建。

 

一般推荐使用饿汉式。因为懒汉式的可能会发生阻塞。

 

 

 

以上是关于JAVA_单例设计模式的主要内容,如果未能解决你的问题,请参考以下文章

Java设计模式_单例模式

JAVA_单例设计模式

Java设计模式学习01——单例模式(转)

JAVA_多线程_单例模式

设计模式_单例模式

单例模式_反射破坏单例模式_枚举类_枚举类实现单例_枚举类解决单例模式破坏