java 单例设计模式 [
為了保證類在內存中只能有一個對象,構造函數需要private外面不實例化對象,提供一個公共方法返回一個實例 //餓漢式 class Single{ //需要是static的,getInstance方法才能訪問,因為靜態方法不能訪問非靜態變量 private static Single s = new Single(); private Single(){} //因為構造函數是private的,外面無法創建實例,所以下面方法需要是static的外面才能通過類名訪問 public static Single getInstance(){ return s; } } //懶漢式 class Single{ //需要是static的,getInstance方法才能訪問,因為靜態方法不能訪問非靜態變量 private static Single s = null; private Single(){} //因為構造函數是private的,外面無法創建實例,所以下面方法需要是static的外面才能通過類名訪問 public static Single getInstance(){ if(s==null) { synchronized(Single.class) //因為可能存在線程安全問題 { if(s==null) s=newSingle(); } } return s;} } //測試 java 單例設計模式 |
轉載于:https://blog.51cto.com/idcjia/1897140
總結
以上是生活随笔為你收集整理的java 单例设计模式 [的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用HBase Client访问阿里云N
- 下一篇: 如何用JavaScript判断dom是否