黑马程序员-------Java基础之单例设计模式
2014-02-28 23:48
513 查看
------- android培训、java培训、期待与您交流!
----------
一、饿汉式
饿汉式即为先初始化对象。
饿汉式单例模式java代码如下:
class Single {
//这是三个成员变量
private String name;
private int age;
private static Single s=new Single();
//这是一个不带参数的构造函数
private Single() {
}
//这是一个带两个参数的构造函数
private Single(String name, int age) {
this.name = name;
this.age = age;
}
//获得刚才生成的对象s的实例
public static Single getInstance(){
return s;
}
}
二、懒汉式
对象是在方法被调用的时候才初始化的,也叫做对象的延时加载,称为:懒汉式。
记录一个原则:定义单例模式时,建议使用饿汉式。
懒汉式单例模式java代码如下:
class SingelDemo2{
private String name;
private int age;
private static SingelDemo2 s=null;
private SingelDemo2(){}
public static SingelDemo2 getInstance() {
if (s==null){
synchronized(SingelDemo2.class){
if(s==null)
s=new SingelDemo2();
}
}
return s;
}
}
----------
一、饿汉式
饿汉式即为先初始化对象。
饿汉式单例模式java代码如下:
class Single {
//这是三个成员变量
private String name;
private int age;
private static Single s=new Single();
//这是一个不带参数的构造函数
private Single() {
}
//这是一个带两个参数的构造函数
private Single(String name, int age) {
this.name = name;
this.age = age;
}
//获得刚才生成的对象s的实例
public static Single getInstance(){
return s;
}
}
二、懒汉式
对象是在方法被调用的时候才初始化的,也叫做对象的延时加载,称为:懒汉式。
记录一个原则:定义单例模式时,建议使用饿汉式。
懒汉式单例模式java代码如下:
class SingelDemo2{
private String name;
private int age;
private static SingelDemo2 s=null;
private SingelDemo2(){}
public static SingelDemo2 getInstance() {
if (s==null){
synchronized(SingelDemo2.class){
if(s==null)
s=new SingelDemo2();
}
}
return s;
}
}
相关文章推荐
- 黑马程序员--多线程
- 寻找长度为n数组中出现次数超过n/2的元素
- .NET面试问答集锦
- 黑马程序员 Java基础学习笔记11 异常
- 程序员前辈走过的路
- 又到一年面试季
- 摘录一些iOS面试题
- 黑马程序员 Java基础学习笔记10 内部类
- 每个程序员都应该了解的内存知识(3)-虚拟内存
- 每个程序员都应该了解的内存知识(2)-CPU caches
- 每个程序员都应该了解的内存知识(1)
- LeetCode 007 Reverse Integer
- 打动面试官的五大技能
- ios面试笔记
- 黑马程序员--7K项目--银行业务调度系统
- 10个有关String的面试问题
- 黑马程序员 Java基础学习笔记9 类
- 黑马程序员 Java基础学习笔记8 类
- 程序员混日子不完全手册【转载】
- 从程序员到软件工程师