2
你好,我想知道如何正確獲得單例實例,什麼是最佳實踐?創建singelton實例的方式有很大的不同嗎?
public class SingeltonTest {
private static final CounterSingelton COUNTER = CounterSingelton.getInstance();
public static void main(String[] args) {
//Type A
for (int a = 0; a < 100; a++) {
COUNTER.increase();
}
//Type B
for (int a = 0; a < 100; a++) {
CounterSingelton counter = CounterSingelton.getInstance();
counter.increase();
}
//Type C
for (int a = 0; a < 100; a++) {
CounterSingelton.getInstance().increase();
}
}
}
[在Java中實現單例模式的有效方式是什麼?](http://stackoverflow.com/questions/70689/what-is-an-efficient-way-to-implement-a- singleton-pattern-in-java) – blank
其中的一個答案提到了它!不要使用靜態的Singelton,只在需要的時候才能得到它,通常得到Singeltons不會是一個「性能明智的」大事(除非我們正在討論首次獲得Singelton,因爲考慮到這個Singelton的創建過程是可能需要很長時間的繁重過程) –