设计模式-----单例模式
設計模式是前輩們在多年開發工作中經驗的總結,可以提高代碼的重用性,可靠性格規范性,讓代碼更加容易理解,而單例模式是最簡單,最常用的設計模式之一。基本的設計模式有23種;
單例模式中有餓漢模式和懶漢模式;
?
/*
*應用的場合:有些對象只需要有一個就足夠了
*作用:保證整個應用程序某個實例有且僅有一個
*類型:餓漢模式和懶漢模式
*/
/*
*餓漢模式
*當要創建一個對象時,都會調用這個類的構造方法;如果一個類沒有指定構造方法;就會調用系統**默認的構造方法;、
*/
package com
public class Singleton{
//1.將構造方法私有化,不允許外部直接創建對象;
private Singleton(){
}
//2.創建類的實例。類的唯一實例;使用private static修飾;在Singleton加載的時候就會執行;創建一個類的實例;
private statice Singleton instance = new Singleton();
//3.提供一個用于獲取實例的方法;使用public static 修飾;
public static Singleton getInstace (){
return instance;
}
}
?
/*懶漢模式*/
package com
public class Singleton2{
//將構造方法私有化,不允許外邊直接創建;
private Singleton2(){
}
//創建類的唯一實例。使用private static修飾;當類加載的時候并沒有去
// 創建這個唯一的實例;而是當用戶去獲取的時候才去創建;
private static Singleton2 instance;
//3.用于獲取實例的方法;
public static Singleton2 getIntace(){
if(instance == null){
instance = new Singleton2();
}
return instance;
}
?
}
public class test{
public void main(String[]?args){
Singleton s1 =?Singleton.getInstace()??;
Singleton s2 =?Singleton.getInstace()?;
if(s1==s2){
System.out.print("s1和s2是同一個實例")
}else{
System.out.print("s1和s2不是同一個實例")
}
}
}
/*
餓漢模式的特點是加載類時比較慢,但在運行時比較快;(線程安全)
懶漢模式的特點是加載類時比較快,但在運行時比較慢;(線程不安全)
?
*/
轉載于:https://www.cnblogs.com/zht0915/p/4638628.html
總結
以上是生活随笔為你收集整理的设计模式-----单例模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自己动手丰衣足食之 jQuery 数量加
- 下一篇: HDU 1711 Number Seq