java中的單例設計模式
關于設計模式,這其實是單獨存在的東西,它不屬于java,但是在java中使用較多,所以今天我就給大家介紹下單例設計模式中的餓漢和懶漢這倆樸素的打工人,
首先我先說明下單例設計模式是啥(如果不想了解,可以直接劃下去看餓漢和懶漢):類的單例設計模式就是采用一定的方法保證在整個軟體系統中,對某個類只能存在一個物件實體,(不懂也沒關系,會用就好)
一.餓漢式
餓漢式:可以理解為餓的不行了,就提前把吃飯工具準備好(new物件),再進行“吃”的操作,
用代碼說話叭:
class Family{
private int number;
private String name;
private Family(){
} //構造器私有化
private static Family Instance=new Family();
//內部創建類的物件
public static Family getInstance(){
return Instance;
}
//提供公共的靜態方法,且回傳物件,
}
public class Test3 {
public static void main(String[] args) {
Family family1=Family.getInstance();
Family family2=Family.getInstance();
}
}
二.懶漢式
懶漢式:可以理解這人特懶,他只是洗下碗但是不準備,啥時候吃飯啥時候弄吃飯工具(new物件),
用代碼說話叭:
class lazy {
private lazy(){
}
private static lazy Instance = null;
//宣告當前物件沒有初始化值
public static lazy getInstance(){
if (Instance==null){
Instance=new lazy();
//需要再造物件,不要就不new物件了
}
return Instance;
}
}
public class Test32 {
public static void main(String[] args) {
lazy lazy1=lazy.getInstance();
}
}
三.餓漢和懶漢有啥不同
對于餓漢式:
優點:執行緒賊安全
缺點:物件加載時間過長
對于懶漢式:
優點:延遲物件的創建,更快
缺點:多執行緒安全賊低,但是可以通過優化使其可用,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/241312.html
標籤:java
