<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            java語言

            Java單例設計模式

            時間:2025-04-25 03:36:03 java語言 我要投稿

            Java單例設計模式

              導語:如何設計一例簡單的JAVA語言呢?如何快速掌握設計的入門技巧呢?下面跟著小編一起來學習吧!

              (1)設計模式:

              解決某類問題行之有效的方法,是一種思想,是規律的總結

              (2)用來保證某個類在內存中只有一個對象

              (3)保證唯一性的思想及步驟

              **為了避免其他程序建立該類對象,先禁止其他程序建立該類對象,即將構造函數私有化

              **為了其他程序訪問到該類對象,須在本類中創建一個該類私有對象

              **為了方便其他程序訪問到該類對象,可對外提供一個公共訪問方式

              比如API中的Runtime類就是單例設計模式。

              (4)單例設計模式的兩種方式

              A:餓漢式 當類加載的時候,就創建對象。

              class Student

              {

              private Student(){}

              private static final Student s = new Student();

              public static Student getInstance()

              {

              return s;

              }

              }

              B:懶漢式 當使用的使用,才去創建對象。

              class Student

              {

              private Student(){}

              private static final Student s = null;

              public static Student getInstance()

              {

              if(s==null)

              {

              //線程1就進來了,線程2就進來了。

              s = new Student();

              }

              return s;

              }

              }

              餓漢式和懶漢式的區別:

              **

              餓漢式是類一加載進內存就創建好了對象;

              懶漢式則是類才加載進內存的時候,對象還沒有存在,只有調用了getInstance()方法時,對象才開始創建。

              **

              懶漢式是延遲加載,如果多個線程同時操作懶漢式時就有可能出現線程安全問題,解決線程安全問題

              可以加同步來解決。但是加了同步之后,每一次都要比較鎖,效率就變慢了,所以可以加雙重判斷來提高程序效率。

              注:開發常用餓漢式,因為餓漢式簡單安全。懶漢式多線程的時候容易發生問題


            【Java單例設計模式】相關文章:

            JAVA設計模式之單例模式07-29

            JAVA多線程并發下的單例模式應用11-09

            java設計模式:工廠模式11-07

            java設計模式:DAO模式08-18

            java設計模式:多例模式08-12

            java設計模式:裝飾模式07-08

            解析Java的設計模式編程之解釋器模式的運用05-19

            Java的設計模式編程中責任鏈模式的運用的實例講解07-07

            Java的結構型模式07-09

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看