黑马程序员———java 单例设计模式

——- android培训java培训、期待与您交流! ———-

单例设计

第一次为自己的博客增添文字, 从今天开始改变成一个全新的自己 ,做自己不敢做的事情,让自己之前觉得不可能的事情,发生,很显然,自己也最近也发生在自己的身上的一些事情,那时自己觉得这些事情不会发生在自己的身上,可事实并非如此,现实就一棒子把我自己从不可能到可能只用了一瞬间,让我感受到了,没有什么不可能的,从此让我感觉自己的人生就像是电视剧一般的戏剧性,希望通过黑马找回自己,让自己有一个不错的提升。自己会继续坚持写学习日记的习惯,一个知识点,有代码,有注释,有自己的总结,复习的时候会事半功倍哦!

     Java 中有很多种设计模式, 在此只是自己的一些拙见,不妥之处还请包涵。

一: 单例设计模式(Stringleton)

单例设计模式: 解决一个类在内存中只存在一个对象,保证对象的唯一性。

主要有以下三点以及体现方式:

1、 单例设计模式 保证某一个类只有一个实例,并提供一个访问方式 。将构造函数私有化

2、必须自行创建这个实例,私有化,外部不能新建对象,在内部新建一个本类对象。在类中创建一个本类对象。

3、 并且在本类里提供一个可供外部访问的静态方法getinstance(),一开始就要被加载。提供一个方法可以获取到该对象。

 class String

{

private static Single s =new Single();

private Single(){}

publice static String getinstance()

{

return s;

}

}

饿汉模式:先初始化对象,这种被称为饿汉模式,一初始化就建立了对象,Single 类一进内存就已经创建好了对象,开发中用到很多, 安全方便。

class Single

{

private static String s =null;

private Single()

{

  if(s==null)

s=new Sing();

return s;

}

}

懒汉模式: 这种表达方式称为懒汉式, 对象在方法调用时才初始化, 也叫做对象的延迟加载, Single 类进内存,对象没有建立,只有调用了getinstance 方法时,才建立对象,多线程用不安全,可以再getinstance 加上synchronized 同步, 但是效率太低, 可以再if判读语句外部再加一个判读,这样就不用, 每次都枷锁,关于单例使用的一句话定义单例,建议使用饿汉模式

public static Stingle getlnstance()

{

if(==null )

{

synchronized (Single.class)

{

if(s==mull)

s=new Single();

}

}

return s;

}

——- android培训java培训、期待与您交流! ———-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值