单例模式(一)
2016-04-26 13:15
357 查看
单利模式:只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。
java 代码示例:
测试类:
结果:
java 代码示例:
package com.jxufe.singleton; /** * 单例模式 * 注意:饿汉模式与懒汉模式不能同时使用 * @author jack * @version 创建时间:2016年4月26日 下午1:02:07 * */ public class Singleton { private Singleton(){ } /** * 饿汉模式,线程安全 */ private static Singleton instance = new Singleton(); public static Singleton getInstance(){ return instance; } /** * 懒汉模式,线程不安全 */ private static Singleton instance1 ; public static Singleton getInstance1(){ if(instance1 == null){ instance1 = new Singleton(); } return instance1; } }
测试类:
package com.jxufe.singleton; public class Test { public static void main(String[] args) { Singleton singleton1 = Singleton.getInstance(); Singleton singleton2 = Singleton.getInstance(); if(singleton1 == singleton2) System.out.println("singleton1与singleton2指向同一个对象"); else { System.out.println("singleton1与singleton2不指向同一个对象"); } Singleton singleton3 = Singleton.getInstance1(); Singleton singleton4 = Singleton.getInstance1(); if(singleton1 == singleton2) System.out.println("singleton3与singleton4指向同一个对象"); else { System.out.println("singleton3与singleton4不指向同一个对象"); } } }
结果:
相关文章推荐
- 用opengl实现轨迹圆|经典程序
- Sitemesh 3 的使用及配置
- 初见微服务之RESTful API
- MachineLearning—Softmax Regression
- ios十进制、十六进制字符串,byte,data等之间的转换
- vs编译器重新生成解决方案问题
- 在html中嵌入多媒体文件
- HDInsight 指定输出目录 insert overwrite
- 配置文件
- 第一阶段冲刺总结08
- C/C++复习:点坐标(结构体)
- 自定义相册多张图片选择并可限制数量
- SDUSTOJ 1796 哆啦A梦的军队(线段树维护前缀位置)
- hdu 1312 搜索
- 如何成为一名产品经理-笔记(20160423)
- composer安装使用
- Dividing coins 动规
- Ajax 原理过程 同步异步区别 优缺点
- Linux 技巧:让进程在后台可靠运行的几种方法
- Alpha and Beta