锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久亚洲私人国产精品,国产精品亚洲综合一区,亚洲日韩在线观看http://www.tkk7.com/wangxq/category/31184.html鍏卞悓鍔姏,鍏遍犺緣鐓?zh-cnMon, 05 May 2008 11:45:58 GMTMon, 05 May 2008 11:45:58 GMT60鍛戒護妯″紡瀛︿範絎旇http://www.tkk7.com/wangxq/archive/2008/05/05/198311.html鎵漿涔懼潳鎵漿涔懼潳Mon, 05 May 2008 01:28:00 GMThttp://www.tkk7.com/wangxq/archive/2008/05/05/198311.htmlhttp://www.tkk7.com/wangxq/comments/198311.htmlhttp://www.tkk7.com/wangxq/archive/2008/05/05/198311.html#Feedback0http://www.tkk7.com/wangxq/comments/commentRss/198311.htmlhttp://www.tkk7.com/wangxq/services/trackbacks/198311.html 浼樼偣錛氳В鑰︿簡鍙戦佽呭拰鎺ュ彈鑰呬箣闂磋仈緋匯?鍙戦佽呰皟鐢ㄤ竴涓搷浣滐紝鎺ュ彈鑰呮帴鍙楄姹傛墽琛岀浉搴旂殑鍔ㄤ綔錛屽洜涓轟嬌鐢–ommand妯″紡瑙h︼紝鍙戦佽呮棤闇鐭ラ亾鎺ュ彈鑰呬換浣曟帴鍙c?br /> 1. 綆鍗曠殑鍛戒護妯″紡
鍛戒護鎺ュ彛錛?br />
public interface Command {
    
public void execute();
}

鍏抽棴鐏懡浠わ細
public class LightOffCommand implements Command {
 Light light;
 
 
public LightOffCommand(Light light) {
  
this.light = light;
 }

 
 
public void execute() {
  light.off();
 }

}

鎵撳紑鐏懡浠わ細
public class LightOnCommand implements Command {
    Light light;
  
    
public LightOnCommand(Light light) {
        
this.light = light;
    }

 
    
public void execute() {
        light.on();
    }

}

鐏細
public class Light {

    
public Light() {
    }


    
public void on() {
        System.out.println(
"Light is on");
    }


    
public void off() {
        System.out.println(
"Light is off");
    }

}
鍛戒護璋冪敤鑰咃細
public class SimpleRemoteControl {
    Command slot;
 
    
public SimpleRemoteControl() {}
 
    
public void setCommand(Command command) {
        slot 
= command;
    }

 
    
public void buttonWasPressed() {
        slot.execute();
    }

}
嫻嬭瘯綾伙細
public class RemoteControlTest {
 
public static void main(String[] args) {
  SimpleRemoteControl remote 
= new SimpleRemoteControl();
  Light light 
= new Light();
  LightOnCommand lightOn 
= new LightOnCommand(light);

  remote.setCommand(lightOn);
  remote.buttonWasPressed();
    }

}
鍛戒護妯″紡寰楃壒鐐癸細
1銆?鍒嗗竷鐧昏緇熶竴鎵ц錛?br /> 鍦ㄤ綔紼嬪簭鏃訛紝緇忓父紕板埌涓浜涢渶姹傦紝鍏堟敞鍐屼竴浜涙搷浣滐紝騫朵笉椹笂鎵ц錛岀瓑鏈緇堢‘瀹氬悗緇熶竴鎵ц銆傚涓涓叿浣撶殑渚嬪瓙:鐢ㄦ埛瀹氬埗鑷繁鐨勬姤琛紝鍙互璁㈤槄楗鹼紝鏌憋紝鎶樼嚎錛屾洸綰垮浘錛屽鎴烽夋嫨鐩稿簲鐨勬姤琛ㄧ粍鍚堬紝榪欐牱瀵瑰簲涓涓懡浠ら泦鍚堬紝鍦ㄦ病紜畾涔嬪墠鐢ㄦ埛鍙互澧炲垹榪欎簺鎶ヨ〃錛堝懡浠わ級錛岀瓑鏈緇堢‘瀹氱粺涓浜ょ粰璋冪敤鑰呮牴鎹懡浠ゆ墽琛岋紝鐢熸垚緇勫悎鎶ヨ〃銆傚疄鐜頒簡鍛戒護鍒嗗竷鎻愬嚭錛岀‘瀹氬悗緇熶竴鎵ц鐨勫姛鑳姐?br />
2銆嬪艦濡傛祦姘寸嚎鎿嶄綔錛氳繕鏄嚭涔︾殑渚嬪瓙
//鍏堟槸涓鏈┖鐧界殑涔︼細
Book book = new Book();
//鎵懼嚑涓綔鑰?br /> Author author1 錛?new Author();
Author author2 錛?new Author();
//鎶婂啓1錛?绔犵殑鍚嶇被鍒嗗埆緇欒繖涓や釜浣滆?br /> Command writeCommand = new Write1Command (author1錛宐ook);
Command writeCommand = new Write2Command (author2錛宐ook);
List commands 錛?new List ();
Commands.add(writeCommand);
//璋冪敤鑰?br /> Invoker invoker = new invoker();
Invoker.setCommands(commands);
//嫻佹按鍐欎功
invoker.action()
瀹為檯涓婂湪aciton榪欎竴鏂規硶涓紝invoker鎸夌収鍛戒護錛岃涓や釜浣滆呮祦姘村啓浣滆繖鏈功銆傦紙綾諱技涓涓功鐨勬祦姘寸嚎鍔犲伐宸ュ巶錛?br /> 榪欐牱鎴戜滑鐨勪功灝辮嫻佹按鍔犲伐鎴愬姛錛堝綋鐒惰繖鏈功鍙湁涓ょ珷錛?br />
榪欐牱灝辯粰浜嗘垜浠竴縐嶇郴緇熻璁$殑妗嗘灦錛?br /> 妯″瀷錛嬪伐鍏鳳紜鍛戒護
瀹㈡埛绔駭鐢熷懡浠わ紝鍛戒護璋冪敤宸ュ叿鎿嶄綔妯″瀷銆?br /> Book 鐩稿綋浜庢ā鍨?br /> Author 鐩稿綋浜庡拰澶氬伐鍏風被涓殑涓涓?br /> Command 鍛戒護

3銆嬬郴緇熼渶瑕佹敮鎸佸懡浠ょ殑鎾ゆ秷(undo)銆傛彁渚況edo()鏂規硶銆愬鏄撴墿灞曘?br /> 鎴戜滑鍙互鍜屽鏄撶殑鍔犲叆undo鍜宺edo錛岃繖涓笉闅劇悊瑙?br />
4銆嬪湪Invoker涓垜浠彲浠ュ疄鐜拌窡韙紝鍜屾棩蹇椼?br />
5銆嬪綋緋葷粺闇瑕佷負鏌愰」澶嶅埗澧炲姞褰㈢殑鍔熻兘鐨勬椂鍊欙紝鍛戒護妯″紡浣挎柊鐨勫姛鑳斤紙琛ㄧ幇涓轟竴縐嶅懡浠わ級寰堝鏄撳湴琚姞鍏ュ埌鏈嶅姟縐嶉噷銆?br /> 鍛戒護鑱旂郴浜嗗伐鍏風被鍗蟲墽琛岀被鍜岀郴緇熼昏緫錛?br />
綆鍖?鍙樺寲鐨勫懡浠ゆā寮忥細
鍛戒護妯″紡鐨勮鑹叉瘮杈冨錛屽湪瀹為檯搴旂敤縐嶆垜浠彲浠ユ牴鎹墍闇瑕佺殑鍔熻兘鍜屼笉闇瑕佺殑鍔熻兘鍔犱互綆鍖栥?br />
1銆嬪幓鎺?璋冪敤鑰?br /> 浜х敓鍛戒護闆嗗悎鍚庯紝鎴戜滑鍙互鐩存帴鍦╟lient涓凱浠f墽琛屾墽琛屾搷浣?br /> 2銆?鍙樺寲 璋冪敤鑰?鎴愪負 璺熻釜鑰?br /> //璋冪敤鑰?br /> public class Invoker{
List commands; //宸茬粡鎵ц瀹屾瘯鐨勫懡浠ら泦鍚?br /> public void addCommand (Command command,int i){
commands.add(i,command);
}
public void action(Command command){
//鎵ц鎿嶄綔
command. execute();
//
commands.add(command);
}
}
……………
//榪樺彲浠ユ湁涓板瘜鐨剅edo鍜寀ndo鎿嶄綔錛?褰撶劧涓浜涢兘緇欏熀浜庡懡浠ょ被鎻愪緵鐨勭浉搴旀柟娉?
}
榪欐牱榪欎釜綾誨氨璁板綍浜嗘墍鏈夋墽琛岃繃鐨勬搷浣溿?br />
3銆嬪幓鎺?鍛戒護 鐢╩ap鏇夸唬
鎴戜滑瀹屽叏鍙互鐢╩ap浠f浛鍛戒護錛岃繖鏍鋒棤闇瀹氫箟鍚勭鍛戒護綾?br /> 鎴戜滑鏀硅繘渚嬪瓙
Author author 錛?new Author();
Publisher publisher 錛?new Publisher ();
Map m = new HashMap;
m.put(author, write);
m.put(author, publisherBook);
鍦↖nvoker鐨刟ction鏂規硶錛?br /> 寰椾唬map
榪愮敤java鍙嶅皠鏉ヨ皟鐢ㄦ柟娉曪紱

4銆嬪幓鎺夋墽琛岃咃細
鐩存帴鍦ㄥ懡浠や腑錛坋xecute鏂規硶縐嶏級鍔犱笟鍔¢昏緫銆傝繖鏍峰彧閫傚悎浜庣畝鍗曠殑灝忕殑緋葷粺.

鍏朵粬瑕佽鐨勫唴瀹?br /> 1銆?灝嗘煇浜涘弬鏁頒紶緇欐煇涓柟鍙戠殑鏂瑰紡寰堝錛岄櫎浜嗗綋浣滄柟娉曠殑鍙傛暟澶栬繕鍙互褰撲綔綾葷殑鎴愬憳渚夸咯鍙橀噺浼犲叆錛?br /> 榪欏氨涓哄懡浠ょ殑鎶借薄甯︽潵浜嗘瀬澶х殑鏂逛究
abstract class Command
{
abstract public void execute();
}
褰撴垜浠凡緇忔湁浜嗘墽琛岃咃紙綾籘est錛夋柟娉昬xecute錛坅rgs1錛宎rgs2 ….argsn錛?br /> 鎴戜滑涓嶅繀鍚慍ommand鍔犲叆execute錛坅rgs1錛宎rgs2 ….argsn錛夋娊璞℃柟娉曪紝鍦ㄨ鍗充嬌鍔犱簡錛屽湪鎴戜滑榪唬鐨勬椂鍊欎篃鏃犳硶鍒ゆ柇鎴栧崄鍒嗕笉瀹規槗鍒ゆ柇鍝釜鍛戒護璋冪敤鍝釜execute鏂規硶銆?br /> 閭d箞鎴戜滑鍙互榪欐牱
class ConcreteCommand : Command
{
Test test;
args1
args2
…..
argsn
public override void Execute()
{
test. execute (args1錛宎rgs2 ….argsn);
}
}
2銆?鍦ㄦ兂璺熻釜鎿嶄綔鐨勬椂鍊欙紝涓鑸負姣忎竴涓搷浣滃璞″垎閰嶄竴涓皟鐢ㄨ咃紝鎿嶄綔瀵硅薄鍦ㄨ皟鐢ㄨ呬腑璁劇疆銆傦紙鍙互鎶借薄鍑轟竴涓葷殑璋冪敤鑰咃紝鏉ュ崗璋冭皟鐢ㄦ瘡涓涓叿浣撶殑璋冪敤鑰咃級
3銆?鍛戒護鐨勬娊璞$矑搴︽垜瑙夊緱鏄娉ㄦ剰鐨勩?br /> 4銆?鐞嗚В鎬濇兂錛屼笉瑕佹満姊扮殑鐓ф惉銆傛秷鍖栨垚鑷繁鐨勶紝鍔犱互鐏墊椿鐨勮繍鐢ㄥ拰鍒涢犲湪鏄牴鏈嚭璺?br /> 鎵璋撳懡浠ゆā寮忕殑鏍規湰鎬濇兂灝辨槸鍦?鍏堝艦鎴愬懡浠わ紝鍦ㄦ牴鎹懡浠ゆ墽琛屻?br />
鍙傝冿細http://blog.csdn.net/baggio785/archive/2006/05/23/750513.aspx


鎵漿涔懼潳 2008-05-05 09:28 鍙戣〃璇勮
]]>
宸ュ巶妯″紡瀛︿範絎旇http://www.tkk7.com/wangxq/archive/2008/05/04/198064.html鎵漿涔懼潳鎵漿涔懼潳Sun, 04 May 2008 06:13:00 GMThttp://www.tkk7.com/wangxq/archive/2008/05/04/198064.htmlhttp://www.tkk7.com/wangxq/comments/198064.htmlhttp://www.tkk7.com/wangxq/archive/2008/05/04/198064.html#Feedback0http://www.tkk7.com/wangxq/comments/commentRss/198064.htmlhttp://www.tkk7.com/wangxq/services/trackbacks/198064.html1. 綆鍗曞伐鍘傛ā寮忓張縐伴潤鎬佸伐鍘傛柟娉曟ā寮忋備粠鍛藉悕涓婂氨鍙互鐪嬪嚭榪欎釜妯″紡涓瀹氬緢綆鍗曘傚畠瀛樺湪鐨勭洰鐨勫緢綆鍗曪細瀹氫箟涓涓敤浜庡垱寤哄璞$殑鎺ュ彛銆?/font>

1.public class CarFactory{        
       public static Car getCar(int type){
           if(type == 1){
                  return new Car1();
             
} else {
              return new Car2();
           }
       }
}

2. public class CarFactory{
        public static Car getCar(String carClass){
            String className = carClass;
            
Class c = Class.forName(className);
            
Car car = (Car)c.newInstance();
             return car;
        }
}

3. public class CarFactory{
        public static Car getCar(String carJNDIName){         
            InitialContext ic = new InitialContext();
            
String className = ic.lookUp(carJNDIName);
           
Car car = (Car)Class.forName(className).newInstance();
            return car;
        }
}
鏂瑰紡1锝?閫傚悎浜庡伐鍘傛墍浜х敓鐨勫璞¢兘鏄睘浜庡悓涓涓埗綾誨瀷鐨勶紝鑰屼粠鏂瑰紡1锝?鏉ョ湅錛屾柟寮?鏃犵枒鏄渶綆鍗曠殑錛屼篃鏄渶瀹規槗鐞嗚В鍜屾帴鍙楃殑錛岃屾柟寮?鍜屾柟寮?鍒欑浉瀵規潵璇磋楂樼駭涓鐐廣傞珮綰у湪鍝噷鍛紵鎴戜滑鍙互鐪嬪埌錛屾柟寮?涓瀵硅薄鐨勫垱寤烘槸浣跨敤Hardcode鐨勫艦寮忥紝涔熷嵆鏄▼搴忓憳闇瑕佷簨鍏堢煡閬撶郴緇熼噷闈㈠瓨鍦ㄥ灝戜釜綾誨瀷鐨勫璞″強鍏跺搴旂殑緙栧彿錛屼竴鏃﹀鍔犳垨鍒犻櫎銆佷慨鏀逛簡瀵硅薄鐨勭被鍨嬶紝鍒欏繀鐒跺紩璧穒f-else鍧楃殑鏀瑰彉錛岄犳垚浜嗙淮鎶ょ殑鍥伴毦銆?br />
鑰屾柟寮?鍒欓噰鐢ㄤ簡鍔ㄦ佺被鍔犺澆鐨勬柟寮忥紝鏂瑰紡3鍦ㄦ柟寮?鐨勫熀紜涓婁嬌鐢ㄤ簡JNDI錛屾洿榪涗簡涓姝ワ紝鍏跺ソ澶勬槸涓嶇敤鍑虹幇HardCode鐨勬柟寮忥紝鍗充究浣犲悗闈㈢殑搴旂敤澧炲姞銆佸垹闄や簡瀵硅薄鐨勭被鍨嬶紝鎴戠殑紼嬪簭榪樻槸淇濇寔鐜板湪鐨勬牱瀛愶紝璺熻繘涓姝ユ潵璇達細鍙互鍘繪帀閭d簺璁ㄥ帉鐨刬f-else璇彞銆?br /> 2. 宸ュ巶鏂規硶妯″紡鍘繪帀浜嗙畝鍗曞伐鍘傛ā寮忎腑宸ュ巶鏂規硶鐨勯潤鎬佸睘鎬э紝浣垮緱瀹冨彲浠ヨ瀛愮被緇ф壙銆傝繖鏍峰湪綆鍗曞伐鍘傛ā寮忛噷闆嗕腑鍦ㄥ伐鍘傛柟娉曚笂鐨勫帇鍔涘彲浠ョ敱宸ュ巶鏂規硶妯″紡閲屼笉鍚岀殑宸ュ巶瀛愮被鏉ュ垎鎷呫傘?font style="background-color: #c7edcc">瀹炶川涓婂畠鏄宸ュ巶瀹炵幇浜嗘娊璞$殑宸ュ巶鎺ュ彛錛屽畠鎶婂叿浣撴庝箞鐢熶駭涓縐嶄笢瑗匡紝鏀懼湪鍏蜂綋鐨勫伐鍘傚幓瀹炵幇浜嗭紝鎵璋?#8221;寤惰繜鍒板瓙綾諱腑瀹炵幇“
銆?/span>
紺轟緥涓錛?br /> public interface Driver{
       public Car driverCar();
}
public class BenzDriver implements Driver{
       public Car driverCar(){
              return new Benz();
       }
}
public class BmwDriver implements Driver{
       public Car driverCar()   {

return new Bmw();
       }
}

// 搴旇鍜屽叿浣撲駭鍝佸艦鎴愬搴斿叧緋?/span> ...
//
鏈夎鏆村彂鎴峰厛鐢?/span>

 public class Magnate

{

              public static void main(String[] args)

              {

                     try{ 
                            Driver driver = new BenzDriver();

                            Car car = driver.driverCar();

                            car.drive();

                     }

       ……

}
紺轟緥浜岋細

public interface Creator
{
  public Prouct factory();
}

public SubCreator1 implent Creator
{
   public Prouct factory()
  {
   return new ConcreteProduct1();
   }
}

public SubCreator2 implent Creator
{
   public Prouct factory()
  {
    return new ConcreteProduct2();
   }
}

璇鋒敞鎰忥細榪斿洖綾誨瀷鏄疨roduct鍨嬬殑錛侊紒
榪欐牱瀹㈡埛绔皟鐢ㄦ槸鐩存帴new 涓涓叿浣撳伐鍘傜殑瀹炰緥錛岀劧鍚庡懡浠ゅ畠鍘葷敓浜э紝鑰屽浜庡叿浣撳伐鍘傜殑鐖剁被錛堟棦宸ュ巶鎺ュ彛錛屾帴鍙e畬鍏ㄥ彲浠ユ敼鎴愬瓙綾葷戶鎵跨埗綾繪潵瀹炵幇錛屽彧鏄繖鏍蜂笉濂斤紝涓嶇鍚圤O鐨勫師鍒欙級錛屽畠瀹屽叏涓嶇煡閬撲粈涔堜駭鍝佽鐢熶駭浜嗭紝鐢氳嚦瀹冭繛閭d釜鍏蜂綋宸ュ巶琚疄渚嬪寲瀹冮兘涓嶇煡閬擄紒

3. 鎶借薄宸ュ巶
public abstract class AbstractFactory{
        public abstract Car getCar(String carClass);
       
public abstract Plane getPlane(String planeClass);
}

public class Factory1 extends AbstractFactory{
      public Car getCar(String carClass){
          // 鍙傝冧笂闈㈢殑鏂瑰紡1锝?
          return car1;
      }

      public Plane getPlane(String planeClass){
          // 鍙傝冧笂闈㈢殑鏂瑰紡1锝?
          return plane1;
      }
}

public class Factory2 extends AbstractFactory{
     public Car getCar(String carClass){
          // 鍙傝冧笂闈㈢殑鏂瑰紡1锝?
          return car2;
     }

     public Plane getPlane(String planeClass){
          // 鍙傝冧笂闈㈢殑鏂瑰紡1锝?
          return plane2;
     }
}

鏂瑰紡4鏄渶涓哄鏉傝屼笖涔熸槸鏈涓哄己澶х殑涓縐嶏紝瀹冨湪瀹炵幇浜嗗璞″伐鍘傛娊璞$殑鍩虹涓婏紝鍙堥泦鎴愪簡宸ュ巶鏂規硶銆備嬌鍒頒笉鍚岀殑宸ュ巶鍙互鐢熶駭鐩稿悓綾誨瀷鐨勪駭鍝侊紝浣嗕駭鍝佺殑瀛愮被鍙兘鏈夋墍涓嶅悓銆?/span>灝卞儚涓婇潰鐨勫伐鍘?鍜屽伐鍘?閮藉彲浠ョ敓浜ф苯杞﹀拰椋炴満涓鏍鳳紝浠栦滑鍚勮嚜涔嬮棿鍙互鐢熶駭涓嶅悓緋誨垪鐨勪駭鍝?鎶借薄宸ュ巶)錛岃屼笖姣忎釜緋誨垪涓嬮潰鍙兘鏈変笉鍚岀殑鍨嬪彿(宸ュ巶鏂規硶)銆?br />
鍙傝冭祫鏂欙細http://www.tkk7.com/pengpenglin/archive/2008/01/02/172325.html
http://www.tkk7.com/killme2008/archive/2007/03/15/104031.html
http://www.tkk7.com/alex/archive/2006/08/29/66479.html

]]>
鍗曞疄渚嬫ā寮忓涔犵瑪璁?/title><link>http://www.tkk7.com/wangxq/archive/2008/05/04/197967.html</link><dc:creator>鎵漿涔懼潳</dc:creator><author>鎵漿涔懼潳</author><pubDate>Sun, 04 May 2008 00:38:00 GMT</pubDate><guid>http://www.tkk7.com/wangxq/archive/2008/05/04/197967.html</guid><wfw:comment>http://www.tkk7.com/wangxq/comments/197967.html</wfw:comment><comments>http://www.tkk7.com/wangxq/archive/2008/05/04/197967.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/wangxq/comments/commentRss/197967.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/wangxq/services/trackbacks/197967.html</trackback:ping><description><![CDATA[<p><br /> 1. 緇忓吀鐨勫崟瀹炰緥妯″紡渚嬪瓙錛堥潪綰跨▼瀹夊叏錛夛細<br /> <font style="background-color: #c7edcc">public class Singleton {<br />     private static Singleton uniqueInstance;<br />  <br />     // other useful instance variables here<br />  <br />     private Singleton() {}<br />  <br />     public static Singleton getInstance() {<br />         if (uniqueInstance == null) {<br />         uniqueInstance = new Singleton();<br />      }<br />          return uniqueInstance;<br />     }<br />  <br />     // other useful methods here<br /> }<br /> 鏈緥鏄渶緇忓吀鐨勫崟瀹炰緥妯″紡渚嬪瓙錛屼絾鏄湪澶氱嚎紼嬬殑鎯呭喌涓嬪氨浼氫駭鐢熷涓疄渚嬶紒<br /> </font></p> 2. 綰跨▼瀹夊叏鐨勪緥瀛愶細<br /> <font style="background-color: #c7edcc">public class Singleton {<br />  private static Singleton uniqueInstance;<br />  <br />  // other useful instance variables here<br />  <br />  private Singleton() {}<br />  <br />  public static synchronized Singleton getInstance() {<br />   if (uniqueInstance == null) {<br />    uniqueInstance = new Singleton();<br />   }<br />   return uniqueInstance;<br />  }<br />  <br />  // other useful methods here<br /> }<br /> </font>澧炲姞synchronized錛屼細璁╄鏂規硶鏄嚎紼嬪畨鍏ㄧ殑錛屼絾鏄細寮曡搗姣忎釜綰跨▼鍦ㄨ皟鐢ㄨ鏂規硶鏃剁殑絳夊緟錛屽鏋済etInstance鐨勬ц兘瀵瑰簲鐢ㄧ▼搴忎笉鏄緢鍏抽敭錛堣浣忥紝鍚屾鏂規硶鍙兘浼氫嬌getInstance鏂規硶寰楄繍琛屾晥鐜囬檷浣?00鍊嶏級錛屾湰鏂規硶鏄渶濂藉緱鏂規硶錛?br /> 3. 鎻愬墠瀹炰緥鍖栵紝涓嶉傜敤寤惰繜瀹炰緥鍖栵紙浣跨敤浜庡垱寤哄拰榪愯鏃惰礋鎷呬笉澶箒閲嶆垨鑰呭簲鐢ㄧ▼搴忔繪槸鍒涘緩騫朵嬌鐢ㄥ崟浠跺疄渚嬶級錛屽畠鏄嚎紼嬪畨鍏ㄥ緱錛?br /> <font style="background-color: #c7edcc">public class Singleton {<br />     private static Singleton uniqueInstance = new Singleton();<br /> <br />     // other useful instance variables here<br />  <br />     private Singleton() {}<br />  <br />     public static Singleton getInstance() {<br />             return uniqueInstance;<br />     }<br />  <br />     // other useful methods here<br /> }<br /> 閲囩敤榪欑鏂規硶錛屾垜浠緷璧朖VM鍦ㄥ姞杞借繖涓被鏃跺欓┈涓婂垱寤烘鍞竴瀹炰緥錛孞VM淇濊瘉鍦ㄤ換浣曠嚎紼嬭闂畠涔嬪墠錛屼竴瀹氬厛鍒涘緩瀹?<br /> </font>4. 鍦╦ava1.5鍙婁互鍚庣殑鐗堟湰錛屽鍔犱簡volatile鍏抽敭瀛楋紝鍙互閲囩敤鍙岄噸媯鏌ュ姞閿侊紒<br /> <font style="background-color: #c7edcc">public class Singleton {<br />  private <span style="color: red">volatile </span>static Singleton uniqueInstance;<br />  <br />  private Singleton() {}<br />  <br />  public static Singleton getInstance() {<br />   if (uniqueInstance == null) {<br />    synchronized (Singleton.class) {<br />     if (uniqueInstance == null) {<br />      uniqueInstance = new Singleton();<br />     }<br />    }<br />   }<br />   return uniqueInstance;<br />  }<br /> }<br /> <span style="color: red">volatile鍏抽敭瀛楃‘淇濓細褰搖nigueInstance鍙橀噺鍦ㄨ鍒濆鍖栨垚瀹炰緥鏃訛紝澶氫釜綰跨▼鑳藉姝g‘鐨勫鐞嗗畠錛侊紙瀵逛簬鍏蟲敞鎬ц兘鐨勭▼搴忥紝榪欑鍋氭硶鍙互澶уぇ鍑忓皯鏃惰楋級<br /> </span><br /> </font><br /> <br /> <img src ="http://www.tkk7.com/wangxq/aggbug/197967.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/wangxq/" target="_blank">鎵漿涔懼潳</a> 2008-05-04 08:38 <a href="http://www.tkk7.com/wangxq/archive/2008/05/04/197967.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://www.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> 主站蜘蛛池模板: <a href="http://jggbk.com" target="_blank">中文字幕av无码不卡免费</a>| <a href="http://ccc321.com" target="_blank">亚洲综合丁香婷婷六月香</a>| <a href="http://tv695.com" target="_blank">亚洲精品中文字幕乱码三区</a>| <a href="http://778002.com" target="_blank">亚洲国产成人久久精品99 </a>| <a href="http://yimintech.com" target="_blank">在线日本高清免费不卡</a>| <a href="http://szgreater.com" target="_blank">成人无码区免费A∨直播</a>| <a href="http://zhaoxinwo.com" target="_blank">9久久免费国产精品特黄</a>| <a href="http://jimeng-99.com" target="_blank">你懂的免费在线观看</a>| <a href="http://plladay.com" target="_blank">中文字幕无码精品亚洲资源网久久 </a>| <a href="http://czhos.com" target="_blank">亚洲乱码无人区卡1卡2卡3</a>| <a href="http://717795.com" target="_blank">亚洲人成图片网站</a>| <a href="http://www16am8.com" target="_blank">久久综合久久综合亚洲</a>| <a href="http://bjsunic.com" target="_blank">久久久久久亚洲av成人无码国产</a>| <a href="http://513net.com" target="_blank">曰皮全部过程视频免费国产30分钟</a>| <a href="http://yzxjk.com" target="_blank">99国产精品免费视频观看</a>| <a href="http://9981tv.com" target="_blank">rh男男车车的车车免费网站</a>| <a href="http://142121.com" target="_blank">j8又粗又长又硬又爽免费视频</a>| <a href="http://cuuka.com" target="_blank">亚洲熟妇AV一区二区三区浪潮 </a>| <a href="http://ygloka.com" target="_blank">无码国产精品一区二区免费式直播 </a>| <a href="http://ee45987.com" target="_blank">亚洲一级片在线播放</a>| <a href="http://8k91.com" target="_blank">亚洲国产日韩综合久久精品</a>| <a href="http://69xjk.com" target="_blank">99久久国产亚洲综合精品</a>| <a href="http://xjscr.com" target="_blank">精品亚洲国产成人av</a>| <a href="http://22nee.com" target="_blank">亚洲一区精品视频在线</a>| <a href="http://www-63228.com" target="_blank">亚洲欧美日韩综合久久久</a>| <a href="http://56p6.com" target="_blank">在线观看免费亚洲</a>| <a href="http://xuanzhicity.com" target="_blank">午夜免费国产体验区免费的 </a>| <a href="http://449892.com" target="_blank">国产99视频精品免费视频7</a>| <a href="http://aaaaa123.com" target="_blank">亚洲国产精品一区二区第一页免</a>| <a href="http://wo93xyz.com" target="_blank">在线A级毛片无码免费真人 </a>| <a href="http://taoh2510.com" target="_blank">福利片免费一区二区三区</a>| <a href="http://imfever.com" target="_blank">一级毛片免费在线播放</a>| <a href="http://988938.com" target="_blank">日韩视频在线观看免费</a>| <a href="http://szyxfhm.com" target="_blank">免费毛片a在线观看67194</a>| <a href="http://gwcyy.com" target="_blank">国产伦精品一区二区三区免费迷</a>| <a href="http://guakao88.com" target="_blank">最近中文字幕无免费视频</a>| <a href="http://3344by.com" target="_blank">免费a在线观看播放</a>| <a href="http://aqddv.com" target="_blank">亚洲va无码专区国产乱码</a>| <a href="http://zgdhuibao.com" target="_blank">亚洲第一二三四区</a>| <a href="http://dghxm168.com" target="_blank">色婷婷六月亚洲综合香蕉</a>| <a href="http://wwwzs88.com" target="_blank">伊人久久大香线蕉免费视频</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>