亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

單例模式

標簽:
Android

//恶汉式

class Single

{

private Single(){}

private static final Single s=new Single();

public static Single getInstance(){

return s;

}

}

//懒汉式

class Single2

{

//第一步:创建一个私有的构造方法,使外界无法调用

private Single(){}

//volatile  一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就    //具备了两层语义:

//1)保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这//新值对其他线程来说是立即可见的。

//2)禁止进行指令重排序。

//第二步:创建一个私有的静态的本类对象,供外界使用,但不能直接调用

private static volatile Single s=null;

//第三步:为外界提供获得本类唯一对象的静态方法

public static Single getInstance(){

if(s==null){

                       //当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时  //间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。

synchronized(Single.class){

if(s==null){

s=new Single();

}

}

}

return s;

}

}

demo:

class UserInfoBean {

   private String userid;

   private String token;

   private String username;

   private UserInfoBean(){

   }

   private static  volatile  UserInfoBean userInfoBean=null;

   public static UserInfoBean getInstance(){

       if(userInfoBean==null){

           synchronized (UserInfoBean.class){

               if(userInfoBean==null){

                   userInfoBean=new UserInfoBean();

               }

           }

       }

       return userInfoBean;

   }

   public String getUserid() {

       return userid;

   }

   public void setUserid(String userid) {

       this.userid = userid;

   }

   public String getToken() {

       return token;

   }

   public void setToken(String token) {

       this.token = token;

   }

   public String getUsername() {

       return username;

   }

   public void setUsername(String username) {

       this.username = username;

   }

}

原文链接:http://www.apkbus.com/blog-160625-68362.html

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消