-
餓漢模式的特點(diǎn)是加載類時(shí)比較慢,但運(yùn)行時(shí)獲取對(duì)象的速度比較快,線程安全 懶漢模式的特點(diǎn)是加載類時(shí)比較快,但運(yùn)行時(shí)獲取對(duì)象的速度比較慢,線程不安全查看全部
-
/* * 懶漢模式 * 區(qū)別:餓漢模式的特點(diǎn)是加載類時(shí)比較慢,但運(yùn)行時(shí)獲取對(duì)象的速度比較快,線程安全 * 懶漢模式的特點(diǎn)是加載類時(shí)比較快,但運(yùn)行時(shí)獲取對(duì)象的速度比較慢,線程不安全 */ public class Singleton2 { //1.將構(gòu)造方式私有化,不允許外邊直接創(chuàng)建對(duì)象 private Singleton2(){ } //2.聲明類的唯一實(shí)例,使用private static修飾,并沒有生成實(shí)例,只是聲明了而已 private static Singleton2 instance; //3.提供一個(gè)用于獲取實(shí)例的方法,使用public static修飾 public static Singleton2 getInstance(){ if(instance==null){ instance=new Singleton2(); } return instance; } }查看全部
-
/* * 單例模式Singleton * 應(yīng)用場合:有些對(duì)象只需要一個(gè)就足夠了,如古代皇帝、老婆 * 作用:保證整個(gè)應(yīng)用程序中某個(gè)實(shí)例有且只有一個(gè) * 類型:餓漢模式、懶漢模式 */ public class Singleton { //1.將構(gòu)造方法私有化,不允許外部直接創(chuàng)建對(duì)象 private Singleton(){ } //2.創(chuàng)建類的唯一實(shí)例,使用private static修飾 private static Singleton instance=new Singleton(); //3.提供一個(gè)用于獲取實(shí)例的方法,使用public static修飾 public static Singleton getInstance(){ return instance; } } 二、test.java public class Test { public static void main(String[] args) { //餓漢模式 Singleton s1=Singleton.getInstance(); Singleton s2=Singleton.getInstance(); if(s1==s2){ System.out.println("s1和s2是同一個(gè)實(shí)例"); }else{ System.out.println("s1和s2不是同一個(gè)實(shí)例"); } }查看全部
-
單例模式查看全部
-
基本設(shè)計(jì)模式有23種查看全部
-
設(shè)計(jì)模式概念查看全部
-
單例模式:懶漢模式和餓漢模式查看全部
-
1. 創(chuàng)建一個(gè)私有的構(gòu)造方法 private Constructor(); 2.聲明一個(gè)static的本類對(duì)象,把它實(shí)例化, pivate static Object instance; 那么它就是類所有的,在類加載的時(shí)候,它就加載了,所以稱為餓漢模式. 3.聲明一個(gè)類的公開方法用于獲取單例. public static Object getInstance();查看全部
-
單例模式——餓漢式(類加載時(shí)就創(chuàng)建) 1. 將無參構(gòu)造方法顯示私有化, 不允許外部直接創(chuàng)建對(duì)象 private Singleton(){} 2. 創(chuàng)建私有靜態(tài)的唯一實(shí)例類的對(duì)象, 使用private static修飾 private static Singleton instance = new Singleton(); 3. 提供一個(gè)公共靜態(tài)方便外部用于獲取實(shí)例的方法, 使用public static修飾 public static Singleton getInstance(){return instance;} 單例模式——懶漢模式(用戶第一次獲取的時(shí)候才創(chuàng)建) //1.將構(gòu)造方式私有化,不允許外邊直接創(chuàng)建對(duì)象 private Singleton2(){} //2.聲明類的唯一實(shí)例,使用private static修飾 private static Singleton2 instance; //3.提供一個(gè)用于獲取實(shí)例的方法,使用public static修飾 public static Singleton2 getInstance(){ if(instance==null){ instance=new Singleton2(); } return instance; } 區(qū)別:餓漢模式的特點(diǎn)是加載類時(shí)比較慢,但運(yùn)行時(shí)獲取對(duì)象的速度比較快,線程安全 懶漢模式的特點(diǎn)是加載類時(shí)比較快,但運(yùn)行時(shí)獲取對(duì)象的速度比較慢,線程不安全查看全部
-
http://img1.sycdn.imooc.com//546aa2c500010dd712000530-120-68.jpg查看全部
-
http://img1.sycdn.imooc.com//546aa29c0001ffbe12000530-120-68.jpg查看全部
-
http://img1.sycdn.imooc.com//546aa2810001074012000530-120-68.jpg查看全部
-
單例模式——懶漢式(類使用時(shí)才創(chuàng)建) 1. 將無參構(gòu)造方法顯示私有化, 不允許外部直接創(chuàng)建對(duì)象 private Singleton(){} 2. 聲明私有靜態(tài)的唯一實(shí)例類的對(duì)象, 使用private static修飾 private static Singleton instance; 3. 提供一個(gè)公共靜態(tài)方便外部用于獲取實(shí)例的方法,并判斷使用public static修飾 public static Singleton getInstance() { if(instance==null)//如果當(dāng)前實(shí)例為空創(chuàng)建新的實(shí)例 {instance=new Singleton();} return instance; }查看全部
-
餓漢模式:加載類時(shí)比較慢,但運(yùn)行時(shí)獲取對(duì)象的速度比較快,線程安全 1. 將構(gòu)造方法私有化,不允許外部直接創(chuàng)建對(duì)象 2. 聲明類的唯一實(shí)例,使用private static修飾,并實(shí)例化 3. 提供一個(gè)用于獲取實(shí)例的方法,使用public static修飾 懶漢模式:加載類時(shí)比較快,但運(yùn)行時(shí)獲取對(duì)象的速度比較慢,線程不安全 1. 將構(gòu)造方法私有化,不允許外部直接創(chuàng)建對(duì)象 2. 聲明類的唯一實(shí)例,使用private static修飾,不實(shí)例化 3. 提供一個(gè)用于獲取實(shí)例的方法,使用public static修飾,如果為null,就實(shí)例化查看全部
-
## 餓漢式和懶漢式區(qū)別 * 餓漢模式加載類時(shí)比較慢,運(yùn)行獲取對(duì)象速度比較快,線程安全. * 懶漢模式加載類時(shí)比較快,運(yùn)行獲取對(duì)象速度比較慢,線程不安全.查看全部
舉報(bào)
0/150
提交
取消