<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ## 單例模式 單例模式是為了確保系統中某個類只存在一個實例。 在多種寫法中,推薦使用靜態內部類方式,利用類加載一次特性確保只有一個實例(線程安全), 同時具備無鎖和懶創建優點。 示例: ~~~ public class StaticInnerClassSingleton { // 私有化構造方法 private StaticInnerClassSingleton(){} // 內部類 static class Holder{ static StaticInnerClassSingleton INSTANCE = new StaticInnerClassSingleton(); } // 獲取實例對象 public static StaticInnerClassSingleton getInstance(){ return Holder.INSTANCE; } public static void main(String[] args) { for(int i=0;i<10;i++){ new Thread(()->{ System.out.println(StaticInnerClassSingleton.getInstance()); }).start(); } } } ~~~ ## 不變模式 在并發場景中,不變對象是不需要同步操作的。(因為對象不會改變,所以多個線程訪問不會出現不一致問題) 特征: 1. class被修飾為final 2. 屬性是私有且被final修飾的 JDK中所有的元數據類、包裝類都是使用不變模式實現的。 ``` java.lang.String java.lang.Boolean java.lang.Byte java.lang.Character java.lang.Double java.lang.Float java.lang.Integer java.lang.Long java.lang.Short ``` 例子: ~~~ public final class FinalCat {// final 確保無子類 private final String name;// final 確保屬性 private final Integer age; public FinalCat(String name, Integer age) { this.name = name; this.age = age; } public String getName() { return name; } public Integer getAge() { return age; } @Override public String toString() { return "FinalCat{" + "name='" + name + '\'' + ", age=" + age + '}'; } public static void main(String[] args) { FinalCat cat = new FinalCat("皮侃子", 4); System.out.println(cat); } } ~~~ ## 參考資料 * 書籍 葛一鳴 * 《Java高并發程序設計》
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看