23种设计模式~单例模式
来源:互联网 发布:吉林市知鼎人才网 编辑:程序博客网 时间:2024/04/30 14:15
/*
* 1.设计模式:在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式。
* 23种设计模式
*
* 2.单例模式
* 解决的问题:为了使类只能够创建唯一的一个对象
*
* 3.如何实现单例模式:见如下的4步
*/
//饿汉式1
class Bank{
//1.将构造器私有化
private Bank(){}
//2.在类的内部创建一个对象,声明为私有的
//4.此对象也必须声明为static的
private static Bank bank = new Bank();
//3.提供公共的方法来调用此对象,通过类来调用此方法,所以声明为static的
public static Bank getBank(){
return bank;
}
}
//饿汉式2
class Bank{
//1.将构造器私有化
private Bank(){}
//2.在类的内部创建一个对象,声明为私有的
//4.此对象也必须声明为static的
private static Bank bank = null;
static{
bank = new Bank();
}
//3.提供公共的方法来调用此对象,通过类来调用此方法,所以声明为static的
public static Bank getBank(){
return bank;
}
}
//懒汉式
//存在线程的安全问题
class Bank1{
//1.私有化构造器
private Bank1(){}
//2.声明一个私有的Bank1引用
//4.此声明也应改为static的
private static Bank1 bank = null;
//3.声明一个public static的获取Bank1实例的方法
public static Bank1 getBank(){
if(bank == null){
bank = new Bank1();
}
return bank;
}
}
* 1.设计模式:在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式。
* 23种设计模式
*
* 2.单例模式
* 解决的问题:为了使类只能够创建唯一的一个对象
*
* 3.如何实现单例模式:见如下的4步
*/
//饿汉式1
class Bank{
//1.将构造器私有化
private Bank(){}
//2.在类的内部创建一个对象,声明为私有的
//4.此对象也必须声明为static的
private static Bank bank = new Bank();
//3.提供公共的方法来调用此对象,通过类来调用此方法,所以声明为static的
public static Bank getBank(){
return bank;
}
}
//饿汉式2
class Bank{
//1.将构造器私有化
private Bank(){}
//2.在类的内部创建一个对象,声明为私有的
//4.此对象也必须声明为static的
private static Bank bank = null;
static{
bank = new Bank();
}
//3.提供公共的方法来调用此对象,通过类来调用此方法,所以声明为static的
public static Bank getBank(){
return bank;
}
}
//懒汉式
//存在线程的安全问题
class Bank1{
//1.私有化构造器
private Bank1(){}
//2.声明一个私有的Bank1引用
//4.此声明也应改为static的
private static Bank1 bank = null;
//3.声明一个public static的获取Bank1实例的方法
public static Bank1 getBank(){
if(bank == null){
bank = new Bank1();
}
return bank;
}
}
阅读全文
1 0
- 23种设计模式-单例模式
- 23种设计模式~单例模式
- 23种设计模式-单例模式
- 23种设计模式-----单例模式
- 23种设计模式-单例模式
- 23种设计模式-单例模式
- 【23种设计模式】创建型模式 > 单例模式
- 23种设计模式 之单例设计模式
- 23种设计模式 - 单例设计模式
- 23中设计模式单例模式
- 设计模式 1-23 单例模式
- 设计模式 1-23 单例模式
- java23种设计模式-----单例模式
- 23种设计模式之 单例
- 23种设计模式-----单例(singleton)
- 23种设计模式学习之东拼西凑-------单例模式
- 23种设计模式之单例模式(Singleton)
- 23种设计模式(1):单例模式
- 输入输出流章节的重点总结
- K-mean(多维度)聚类算法(matlab代码)
- 500. Keyboard Row
- tomcat+nginx+redis实现均衡负载、session共享(一)
- 深入理解PHP内核[读书笔记]--第四章:函数的实现 --匿名函数及闭包
- 23种设计模式~单例模式
- Struts2整合Hibernate项目遇到的那些坑
- PHP的优缺点
- JavaScript基础知识(1)
- os 攻击 之 HTTP Flood 别名 cc攻击
- 11
- 在zkcli中怎样操作才会触发com.101tec.ZKClient实现中的subscribeDataChanges设置的监听器
- 51Nod-1004 n^n的末位数字【快速模幂】
- 电商 秒杀系统 设计思路和实现方法