Java單例模式&static成員變量 區別


當需要共享的變量很多時,使用static變量占用內存的時間過長,在類的整個生命周期。
而對象只是存在於對象的整個生命周期。

 

Java單例模式static成員變量 區別 - darrell - DARRELL的博客
 

 

 
//餓漢式
class Single//類一加載,對象就已經存在了。
{
private static Single s = new Single();
 
private Single(){}
 
public static Single getInstance()
{
return s;
}
}
 
//懶漢式    
class Single2//類加載進來,沒有對象,只有調用了getInstance方法時,才會創建對象。
//延遲加載形式。 並發過程中存在安全隱患。
{
private static Single2 s = null;
 
private Single2(){}
 
public static Single2 getInstance()
{
if(s==null)
s = new Single2();
return s;
}
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM