單例模式:保證整個項目運作期間某一個對象有且只有一個。
主要有:1,餓漢式;2,懶漢式。
1 class Singleton1//餓漢式 2 { 3 PRivate Singleton1(){}//先把構造方法私有化,不允許外界創建對象 4 private static final Singleton1 instance=new Singleton1(); 5 /*餓漢式就是聲明的時候就賦值了 6 缺點為加載的時候就需要開辟空間,需要損耗性能,加載慢。 7 */ 8 public static Singleton1 getInstance() 9 {10 return instance;11 }12 }13 class Singleton2//懶漢式14 {15 private Singleton2(){}16 private static Singleton2 instance;//=null17 /*懶漢式就是聲明的時候沒有賦值18 缺點為線程不安全19 */20 public static Singleton2 getInstance()21 {22 if(instance==null)23 instance=new Singleton2();24 return instance;25 }26 }27 class SingletonDemo 28 {29 public static void main(String[] args) 30 {31 Singleton1 s1=Singleton1.getInstance();32 Singleton1 s2=Singleton1.getInstance();33 System.out.println(s1==s2);34 35 Singleton2 s3=Singleton2.getInstance();36 Singleton2 s4=Singleton2.getInstance();37 System.out.println(s3==s4);38 }39 }本人小菜鳥一枚,以上為網上自學心得總結,如有錯誤敬請指出。新手童鞋多多交流,大神們多多指點。祝大家生活愉快。
新聞熱點
疑難解答