/**
* 懶漢式
* * @author by miao
* @date 2020/11/9 11:46
*/public
class
singletonone
public
static singletonone getinstance()
return instance;
}}
/**
* 懶漢式優化
* * @author by miao
* @date 2020/11/10 9:37
*/public
class
singletononeopt
public
static
synchronized singletononeopt getinstance()
return instance;
}}
/**
* 餓漢式
* * @author by miao
* @date 2020/11/10 9:40
*/public
class
singletontwo
public
static singletontwo getinstance()
}
/**
* @author by miao
* @date 2020/11/10 11:01
*/public
enum singletonthree
ps.列舉的天然特性保證了單例,天然的私有構造器,天然的執行緒安全性,未被大規模使用的原因是列舉出現的有點晚。/**
* 雙重校驗鎖demo
* * @author miao
*/public
class
singletondemo
public
static singletondemo getinstance()
}}return instance;
}}
注意:volatile的使用,為了防止暴露乙個未初始化的不完整單例例項;
雙重判空校驗,第乙個判斷避免了頻繁的加鎖,第二個判斷可以攔住多餘的建立例項的執行緒;
加鎖,保證了執行緒安全(只有乙個例項)
單例模式的4種寫法
餓漢式 執行緒安全的,但是會一直占用記憶體 public class singletoninstance private static final singletoninstance instance new singletoninstance public static singletoninst...
ThinkPHP的四種URL模式 你知道嗎
thinkphp支援四種url模式,可以通過設定url model引數來定義,包括普通模式 pathinfo rewrite和相容模式。url model 2,該url模式和pathinfo模式功能一樣,除了可以不需要在url裡面寫入口檔案,和可以定義.htaccess 檔案外。例如,我們可以增加如...
Filecoin的四種收益模式,你知道嗎?
在以往的區塊鏈技術上,算力是計算礦工貢獻的主要手段,算力受礦機的計算速度影響,算力越大,計算速度越快,礦工的收益越高。在這種激勵方式下,礦工會投入更多的算力來獲取更多的收益,從而導致了計算資源和電力能源的大量浪費。filecoin協議能從根本上規避以往區塊鏈的這種弊端,它作為ipfs的獎勵層,旨在激...