午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術文章
文章詳情頁

Effective java學習筆記2:使用私有構造函數來強化單態性

瀏覽:152日期:2024-06-18 18:38:36
內容: 單態性是什么?這里做一下簡單的介紹: Singleton模式主要作用是保證在Java應用程序中,一個類Class只有一個實例存在。 在很多操作中,比如建立目錄 數據庫連接都需要這樣的單線程操作。還有, singleton能夠被狀態化; 這樣,多個單態類在一起就可以作為一個狀態倉庫一樣向外提供服務,比如,你要論壇中的帖子計數器,每次瀏覽一次需要計數,單態類能否保持住這個計數,并且能synchronize的安全自動加1,如果你要把這個數字永久保存到數據庫,你可以在不修改單態接口的情況下方便的做到。 另外方面,Singleton也能夠被無狀態化。提供工具性質的功能, Singleton模式就為我們提供了這樣實現的可能。使用Singleton的好處還在于可以節省內存,因為它限制了實例的個數,有利于Java垃圾回收(garbage collection)。我們常常看到工廠模式中類裝入器(class loader)中也用Singleton模式實現的,因為被裝入的類實際也屬于資源 比較通用的兩種實現單態的方法:第一種:// Singleton with final field - page 10public class Elvis { public static final Elvis INSTANCE = new Elvis(); private Elvis() { // ... } // ... // Remainder omitted public static void main(String[] args) { System.out.println(Elvis.INSTANCE); }}第二種: // Singleton with static factorypublic class Elvis { private static final Elvis INSTANCE = new Elvis(); private Elvis() { // ... } public static Elvis getInstance() { return INSTANCE; } // ... // Remainder omitted public static void main(String[] args) { System.out.println(Elvis.INSTANCE); }}第一種方法顯而易見,靜態的public member Elvis.INSTANCE 永遠都指向同一個對象引用.所以,很容易就保持了單態.第二種方法有更強的擴展性,不用更改api,你可以選擇使這個對象不成為單態的.比如:在不同的thread里調用它,為每一個thread都生成一個獨立的instance.所以,如果你確定你的這個類永遠都是單態的,那么就使用第一種方法.如果使用第二種方法,要確保單態,最好能夠為getinstance()加上synchronized 屬性.因為,如果沒有synchronized,在多線程里面,有可能生成多個對象. Java, java, J2SE, j2se, J2EE, j2ee, J2ME, j2me, ejb, ejb3, JBOSS, jboss, spring, hibernate, jdo, struts, webwork, ajax, AJAX, mysql, MySQL, Oracle, Weblogic, Websphere, scjp, scjd
標簽: Java
相關文章:
主站蜘蛛池模板: 蜜臀久久99精品久久久久久 | 久久精品久久久久久久 | 五月天亚洲色图 | 二区三区视频 | 免费看一级黄色大片 | 在线成人欧美 | 男女激情视频网站 | 超碰com| 免费在线观看成人 | 人人超碰在线 | 国产福利91精品一区二区三区 | 亚洲少妇精品 | 欧美亚洲综合网 | 成人看片 | 一区二区三区精品在线观看 | 黄色免费在线观看 | 99在线视频免费 | 成人精品网 | 精品视频在线播放 | 免费的毛片网站 | 可以免费看的黄色网址 | 男人操女人的视频网站 | 一区二区三区视频在线播放 | 日日夜夜天天综合 | 艳妇av| 91麻豆精品国产91久久久久久 | av网在线观看 | 欧美三级小说 | 成人免费视频国产 | 天天干天天玩 | 青青操在线播放 | 成人公开视频 | 欧美二区在线 | 亚洲色图综合区 | 九九九视频在线观看 | 亚洲综合一二三 | 操她视频在线观看 | 黄色网久久 | 国产盗摄一区二区三区在线 | 最新超碰在线 | 久99热|