单例模式
来源:互联网 发布:新人怎么成为网络作家 编辑:程序博客网 时间:2024/05/22 05:06
package cn.test.demo;
/**
* @author Administrator 单例模式 饿汉式
*/
private Singleton01() {
}
public static Singleton01 getInstance() {
return singleton01;
}
//测试调用
public void test() {
System.out.println("java");
}
/**
* @author Administrator
* 测试
*/
public class Test {
public static void main(String[] args) {
// Singleton.getInstance().test();//懒汉式
// Singleton01.getInstance().test();//饿汉式
}
}
/**
* @author Administrator 单例模式 饿汉式
*/
public class Singleton01 {
private Singleton01() {
}
public static Singleton01 getInstance() {
return singleton01;
}
//测试调用
public void test() {
System.out.println("java");
}
}
————————————————————————————————————————————————————
package cn.test.demo;
/**
* @author Administrator 单例模式 懒汉式
* 懒汉式如果在创建实例对象时不加上synchronized则会导致对对象的访问不是线程安全的
*/
public class Singleton {
// 定义一个私有的静态全局变量来保存该类的唯一实例
private static Singleton singleton;
// 构造方法必须是私有的,外部就不能通过new来创建实例了
private Singleton() {
}
// 定义一个全局访问获取示例的静态方法,需要公开因为别人要通过这个方法获取示例
public static synchronized Singleton getInstance() {
// 即在第一次调用实例化,以后则不会示例化
if (singleton == null) {
singleton = new Singleton();
}
return singleton;
}
// 测试调用
public void test() {
System.out.println("java");
}
}
————————————————————————————————————————————
package cn.test.demo;/**
* @author Administrator
* 测试
*/
public class Test {
public static void main(String[] args) {
// Singleton.getInstance().test();//懒汉式
// Singleton01.getInstance().test();//饿汉式
}
}
0 0
- 单例、单例模式
- 单例模式-多线程单例模式
- 单件模式(单例模式)
- 设计模式------单例模式
- 设计模式------单例模式
- 设计模式-单例模式
- 设计模式 - 单例模式
- 设计模式---单例模式
- 设计模式---单例模式
- PHP模式-单例模式
- 【设计模式】单例模式
- 设计模式-单例模式
- 设计模式----单例模式
- 设计模式--单例模式
- 设计模式-单例模式
- 单例模式(单子模式)
- 设计模式-单例模式
- [设计模式] 单例模式
- 自定义view(视频音量调控)
- 体验C#——使用数组
- Spring下的单元测试
- struts的Form命名
- 设置父窗口框架高度自适应
- 单例模式
- 实习三月记:产品经理做什么
- POJ 计算几何入门题目推荐
- 个性化标签系统--架构设计教程
- ORA-01861: 文字与格式字符串不匹配
- oracle 判断一个表是否已存在
- 基于jQuery,实现ie placeholder的兼容性
- 【整理】adb命令、adb shell与Linux各种命令(busybox)
- oracle的导入和导出