JAVA 静态的单例的实例详解
2017-07-26 08:35
519 查看
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 来保证其线程安全性,确保该成员变量只被实例化一次。
可见,通过使用这个方法,不仅实现了延迟加载,又可以保证线程安全,不影响系统性能。
以上就是使用java 静态单例的实例,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
您可能感兴趣的文章:
相关文章推荐
- JAVA 开发之用静态方法返回类名的实例详解
- java中静态导入机制用法实例详解
- Java静态工厂方法的实例详解
- java实例方法被覆盖,静态方法被隐藏Explain(详解)
- JAVA 静态代理模式详解及实例应用
- Java中的动态和静态编译实例详解
- Java中静态类型检查是如何进行的实例思路详解
- Java移位运算符详解实例——左移位运算符>>、带符号的右移位运算符>>
- Java移位运算符详解实例——左移位运算符>>、带符号的右移位运算符>>
- java中静态代码块的用法 static用法详解
- 利用Java读取二进制文件实例详解
- Java eclipse下 Ant build.xml实例详解 附完整项目源码
- Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)
- 【Java工程师之路】[1-4.4]Java多线程实例详解
- 详解JAVA I/O之二——Java IO 多种方式读文件的代码实例
- Java反射之静态加载和动态加载的简单实例
- Java装饰者模式实例详解
- 事件驱动模型实例详解(Java篇)
- Java 静态标识符 static 详解
- java 静态方法和实例方法的区别