一聚教程网:一个值得你收藏的教程网站

热门教程

JAVA 静态的单例的实例详解

时间:2022-06-29 01:25:26 编辑:袖梨 来源:一聚教程网

JAVA  静态的单例的实例详解

实现代码:

 
public class Printer {
 private Printer(){ }
 public static Printer newInstance(){
  return CreatePrinter.mPrinter;
 }
 private static class CreatePrinter{
  private final static Printer mPrinter = new Printer();
 }
}

因为静态的单例对象没有作为类的成员变量直接实例化,因此在Printer类加载时并没有实例化mPrinter。第一次调用newInstance()  的时候加载内部类CreatePrinter ,该内部类定义了一个static 类型的变量mPrinter,此时会首先初始化这个变量,由JVM  来保证其线程安全性,确保该成员变量只被实例化一次。

可见,通过使用这个方法,不仅实现了延迟加载,又可以保证线程安全,不影响系统性能。

热门栏目