中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java設計模式的懶漢式怎么實現

發布時間:2022-01-14 19:57:35 來源:億速云 閱讀:140 作者:iii 欄目:編程語言

這篇文章主要介紹“java設計模式的懶漢式怎么實現”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“java設計模式的懶漢式怎么實現”文章能幫助大家解決問題。

//懶漢式
private static readonly object obj = new object();
        private static DbConnection dbConnection;
        private DbConnection()
        {
        }
        public static DbConnection getDbConnection()
        {
            if (dbConnection == null)
            {
                lock (obj)
                {
                    if (dbConnection == null)
                    {
                        dbConnection = new DbConnection();
                    }
                }
            }            
            return dbConnection;
        }
        public void openConnection()
        {
            Console.WriteLine("開啟數據庫連接");
        }

        //餓漢式
        private static readonly DbConnection dbConnection = new DbConnection();
        private DbConnection()
        { }
        public static DbConnection getDbConnection()
        {
            return dbConnection;
        }
        public void openConnection()
        {
            Console.WriteLine("開啟數據庫連接");
        }
                //懶漢式
            //DbConnection dbConnection= DbConnection.getDbConnection();
            //DbConnection dbConnection2 = DbConnection.getDbConnection();
            //dbConnection.openConnection();
            //if (dbConnection == dbConnection2)
            //{
            //    Console.WriteLine("相同的");
            //}
            //Console.ReadLine();
            //餓漢式
            DbConnection dbConnection = DbConnection.getDbConnection();
            DbConnection dbConnection2 = DbConnection.getDbConnection();
            if (dbConnection == dbConnection2)
            {
                Console.WriteLine("相同的");
            }
            Console.ReadLine();

總結:保證類只有一個實例(自己完成自己的實例化),并且 提供一個全局訪問點。
懶漢式:在第一次被引用的時候實例化,不提前占資源,但需要雙重鎖保證線程安全。
餓漢式:被加載時實例化,需要提前占用資源。

與靜態方法區別:
1、靜態方法里面的對象使用過后會釋放,頻繁使用釋放也耗資源;單例由于有一個實例化,會一直存在。
2、單例可以繼承類,實現接口,方法可以被重載。
3、單例比靜態方法更靈活。
java設計模式的懶漢式怎么實現

關于“java設計模式的懶漢式怎么實現”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乐平市| 合阳县| 兴仁县| 东兴市| 东乌| 开阳县| 依安县| 四会市| 北碚区| 韩城市| 芦溪县| 河北省| 水富县| 永和县| 城口县| 龙南县| 比如县| 海盐县| 祥云县| 大兴区| 神农架林区| 扎兰屯市| 龙陵县| 兴隆县| 安徽省| 威信县| 千阳县| 车致| 枣强县| 观塘区| 阿图什市| 门头沟区| 视频| 吉隆县| 仁化县| 柳州市| 兴山县| 永安市| 林州市| 抚州市| 游戏|