我的网站:https://www.ifueen.com 欢迎大家访问
概念:
单例模式的概念:
需要设计一个类,达到的效果: 此类在整个应用中只存在一个对象
单例模式之饿汉模式:
单例模式之饿汉模式
饿汉模式:直接创建,不管用不用得到
弊端:
正是由于饿汉模式这种特性,所以效率较低,一加载代码到jvm就会创建对象…
示例Demo:
public class SingleInstance{
public static void main(String[] args){
System.out.println(Test.getInstance()); //打印输出
System.out.println(Test.getInstance());
System.out.println(Test.getInstance());
}
}
class Test{
//饿汉模式Demo
private Test(){} //将构造方法私有化
private static Test instance = new Test(); //创建字段
public static Test getInstance(){ //生成get方法
return instance; //返回对象
}
}
单例模式之懒汉模式
单例模式之懒汉模式
在需要用到对象的时候才开始创建,否则就不创建
存在问题:
线程安全问题
示例Demo:
public class SingleInstance{
public static void main(String[] args){
System.out.println(Test.getInstance()); //打印输出
System.out.println(Test.getInstance());
System.out.println(Test.getInstance());
}
}
class Test{
//懒汉模式Demo
private Test(){} //将构造方法私有化
private static Test instance; //创建字段
public static Test getInstance(){ //生成get方法
if(instance == null){
instance = new Test();
}
return instance; //返回对象
}
}
除此之外还有其他几种单例模式但是最基础的就算这两种,也是面试经常考到的两种