java的知识点30——设计模式
生活随笔
收集整理的這篇文章主要介紹了
java的知识点30——设计模式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?單例模式
核心作用:保證一個類只有一個實例,并且提供一個訪問該實例的全局訪問點
單例模式的優點:由于單例模式只生成一個實例,減少了系統性能開銷,當一個對象的產生需要比較多的資源時,如讀取配置、產生其他依賴對象時,則可以通過在應用啟動時直接產生一個單例對象,然后永久駐留內存的方式來解決
常見的五種單例模式實現方式:? 餓漢式(線程安全,調用效率高。 但是,不能延時加載。)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 懶漢式(線程安全,調用效率不高。 但是,可以延時加載。)
餓漢式
package cn.dym; /*** 測試餓漢式單例模式* @author Administrator**/ public class SingletonDemo01 {//類初始化時,立即加載這個對象 (沒有延時加載的優勢) // 加載類時,天然的是線程安全private static SingletonDemo01 instance=new SingletonDemo01(); private SingletonDemo01() {}//方法沒有同步,調用效率高public static SingletonDemo01 getInstance() {return instance;} }懶漢式:資源利用率高了。但是,每次調用getInstance()方法都要同步,并發效率較低
package cn.dym; /*** 測試懶漢式單例模式* @author Administrator**/ public class SingletonDemo02 {//類初始化時,不初始化這個對象 (延時加載,真正用的時候在創建)private static SingletonDemo02 instance; private SingletonDemo02() { //私有化構造器}//方法同步,調用效率低public static synchronized SingletonDemo02 getInstance() {if(instance==null) {instance=new SingletonDemo02();}return instance;} }?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的java的知识点30——设计模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java的知识点29—— 文件字符流、字
- 下一篇: Java的知识点31——封装拷贝、封装释