java學習

          java學習

           

          設計模式之單例模式

          單例模式分為惡漢式,就是直接在類中new出,直接返回對象,懶漢式是在調用對象時判斷對象是否是null,如果null,先new出,再返回,否則直接返回對象,但是這種方式會線程不安全,所以采用雙重檢查的設計思想,保證線程安全。
          package singleton;
          public class Teacher3 {
          private Teacher3(){}
          private static Teacher3 t=null;
          public static Teacher3 getTeacher3(){
          if(t==null){
          synchronized (Teacher3.class) {
          if(t==null){
          t=new Teacher3();
          }
          }
          }
          return t;
          }
          private String name;
          public String getName() {
          return name;
          }
          public void setName(String name) {
          this.name = name;
          }
          }
          第二種方式,內部類方式
          package test;
          /**
           * 在多線程中使用單例對象的設計模式,內部類
           *
           */
          public class InnerSingleton {
          private static class Singleton{
          private static  Singleton s=new Singleton();
          public void add(){
          }
          }
          public static Singleton getSingleton(){
          return Singleton.s;
          }
          public static void main(String[] args) {
          Singleton singleton = InnerSingleton.getSingleton();
          singleton.add();
          }
          }

          posted on 2017-09-04 10:17 楊軍威 閱讀(123) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          導航

          統計

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 丘北县| 渑池县| 灵武市| 金堂县| 邛崃市| 黔东| 洪泽县| 新化县| 恩平市| 金门县| 葫芦岛市| 宁津县| 赤壁市| 昌宁县| 咸阳市| 柯坪县| 蒙自县| 油尖旺区| 福清市| 普陀区| 拜泉县| 广水市| 宁化县| 阜平县| 璧山县| 化德县| 南郑县| 卓资县| 江口县| 克什克腾旗| 根河市| 福安市| 桑日县| 抚松县| 吉水县| 桐柏县| 将乐县| 当阳市| 柳州市| 聊城市| 商水县|