Java——设计模式(单例模式)
来源:互联网 发布:网络上赌博算不算诈骗 编辑:程序博客网 时间:2024/06/06 06:37
* 设计模式: 对问题行之有效的解决方式,其实他是一种思想。
* 1.单例设计模式。
* 解决问题: 就是可以保证一个列在内存中的对象唯一性。
*
*如何保证对象的唯一性:
*1. 不允许其他程序用new创建该类对象。
*2. 在该类中创建一个本类实例。
*3. 对外提供一个方法让其他程序可以获取该对象。。
*
*步骤:
*1.私有化该类构造函数。
*2.通过new在本类中创建一个本类对象。
*3.定义一个公有的方法,将创建的对象返回。
*
*/
第一种方式 构建单例模式 饿汉式
final class SingleTest
{
//设为private 保证外界不能访问 static保证其唯一性 类一加载对象就已经存在的
private static SingleTest s = new SingleTest();
private SingleTest(){};//构造函数私有化 保证不能new
public static SingleTest getInstance()//对外提供一个public方法。 比返回一个单例对象
{
return s;
}
}
=========================================================================================================
第二种方式 构建单例模式 懒汉式
//延迟加载形式。
final class SingleTest2//类加载进来 , 没有对象, 只有调用了getInstance()方法时, 才会创建对戏。
{
private static SingleTest2 s = null;//设为private 保证外界不能访问。。 static保证其唯一性
private SingleTest2(){};//构造函数私有化 保证不能new
public static SingleTest2 getInstance()//对外提供一个public方法。 比返回一个单例对象
{
if(s==null)
{
s = new SingleTest2();
}
return s;
}
}
==============================================线程安全模式======================
//饿汉模式(线程安全模式)
class Single
{
private final Single s = new Single();
private Single(){};
public synchronized Single getInstace()
{
return s;
}
}
//懒汉模式(线程安全模式)
class Single2
{
private static Single2 s = null;
private Single2(){};
public static Single2 getInstance()
{
if(s==null)
{
synchronized(Single2.class)
{
if(s==null)
{
s = new Single2();
}
}
}
return s;
}
l }
====================================================================================
// TODO Auto-generated method stub
/*
* Runtime没有构造方法 ,说明该类不可以创建对象。又发现还有非静态的方法,
* 说明该类应提供静态的返回该类对象的方法。
* 而且只有一个,说Runtime类使用了单例模式
*/
Runtime r = Runtime.getRuntime();
- Java 设计模式—单例模式
- java设计模式—单例模式
- java设计模式—单例模式
- java设计模式—单例模式
- Java设计模式—单例模式
- Java设计模式—单例模式
- JAVA设计模式——单例(Singleton)模式
- java设计模式——单例模式(Singleton)
- java设计模式——单例(Singleton)模式
- Java——设计模式(单例模式)
- Java设计模式——单例模式(Singleton)
- 设计模式(java)1——单例模式
- 设计模式学习(Java)——单例模式
- java设计模式(三)——单例模式
- java设计模式(三)—单例模式
- Java—设计模式(单例模式)
- Java设计模式—单例模式和模板模式
- JAVA设计模式——单例设计模式
- Java IO 概念 Java编程思想读书笔记
- 恢复目录数据库 IMPORT CATALOG命令相关
- asp.net购物车,订单以及模拟支付宝支付(一)---购物车表及添加购物车流程
- Java——集合框架 工具
- 存储:F2FS文件系统读写性能良好
- Java——设计模式(单例模式)
- 一步步完成 最美残缺
- iOS开发-提交App至AppStore的步骤
- 浅谈iPhone OS(iOS)架构
- 初探ExtJS(1)
- Ubuntu 给应用程序添加桌面图标
- [Ruby]How to create singleton class ?
- python3中raw_input()变成了input()
- HDU 1016Prime Ring Problem