单例-饿汉模式

1、将构造方法私有化,不允许外部直接创建对象 private Singleton(){}
2、自己在类的内部创建一个唯一实例 private static Singleton instance = new Singleton();
3、提供一个用于获取实例的方法 public static Singleton getInstance(){return instance};

public class Singleton{ 

private static Singleton instance=new Singleton(); 

private Singleton(){}
public staitc Singleto getInstance(){   return instance; } }

单例--懒汉模式

1.构造函数私有化

2.创建类的唯一实例静态成员变量(为null)

3.创建获取单一实例的静态成员方法 区别在于实例本身产生的时间(类加载时还是类使用时)

java 单例模式-饿懒汉模式
public class Singleton{ 
private Singleton(){}
private static Singleton instance; 
public static Singleton getInstance(){ 
  if(instance==null){ 
    return new Singleton();
  } else {
    return instance;
   }
}
java 单例模式-饿懒汉模式

 

区别:
饿汉式:声明的同时直接实例化。 特点:加载类时比较慢,但运行时获取对象的速度比较快,线程安全。
懒汉式:声明的时候不实例化。 特点:加载类时比较快,但运行时获取对象的速度比较慢,线程不安全。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-05
  • 2021-04-11
  • 2021-07-24
  • 2022-12-23
猜你喜欢
  • 2022-01-08
  • 2022-12-23
  • 2022-02-21
  • 2021-05-02
  • 2021-09-17
  • 2021-07-17
  • 2021-07-05
相关资源
相似解决方案