黑马程序员_单例模式的两种方法

---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a&gt;、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------

package demo;
/*单例模式:解决一个类在内存只存在一个对象。
 * 1、饿汉式*/
/*class Single
{
 private Single(){}
 private final static Single s = new Single();
 public static Single getInstance()
 {
  return s;
 }
}
class SingleDemo
{
 public static void main(String[] args)
 {
  Single ss = Single.getInstance();
 }
}*/
/*
 2、懒汉式:对象被调用时才初始化,也叫对象延时加载,称为:饿汉式。
 实际应用中,饿汉式要用多线程的方式解决问题。
 然而多线程方式需要用到同步代码块,犹豫synchorized语句需要判断锁,所以降低了代码执行效率。
 我们采用多重判断提高代码执行效率。
 */
class Single
{
 private static Single s=null;
 private Single(){};
 public static Single getInstance()
 {
  if(s==null)
  {
  
   synchronized(Single.class)
   {
    if(s==null)
     s=new Single();
   }
   
  }
  return s;
 }
}
class SingleDemo
{
 public static void main (String[] args)
 { 
  Single ss = Single.getInstance();
 }
}

---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a&gt;、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值