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