服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - JAVA 静态的单例的实例详解

JAVA 静态的单例的实例详解

2020-12-06 15:33jacksu在简书 Java教程

这篇文章主要介绍了JAVA 静态的单例的实例详解的相关资料,这里提供了实例方法,来说名不仅实现了延迟加载,又可以保证线程安全,不影响系统性能,需要的朋友可以参考下

JAVA  静态单例的实例详解

实现代码:

?
1
2
3
4
5
6
7
8
9
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 来保证其线程安全性,确保该成员变量只被实例化一次。

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

以上就是使用java 静态单例的实例,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

原文链接:http://www.jianshu.com/p/29b70274f199

延伸 · 阅读

精彩推荐