真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java單例設(shè)計(jì)模式的概念-創(chuàng)新互聯(lián)

這篇文章主要講解了“java單例設(shè)計(jì)模式的概念”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“java單例設(shè)計(jì)模式的概念”吧!

成都創(chuàng)新互聯(lián)公司主營惠濟(jì)網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都App定制開發(fā),惠濟(jì)h5小程序制作搭建,惠濟(jì)網(wǎng)站營銷推廣歡迎惠濟(jì)等地區(qū)企業(yè)咨詢

單例設(shè)計(jì)模式概述:
      單例模式就是要確保類在內(nèi)存中只有一個(gè)對(duì)象,該實(shí)例必須自動(dòng)創(chuàng)建,并且對(duì)外提供
單例模式有以下特點(diǎn):
  1、單例類只能有一個(gè)實(shí)例。
  2、單例類必須自己自己創(chuàng)建自己的唯一實(shí)例。
  3、單例類必須給所有其他對(duì)象提供這一實(shí)例。
單例模式分三種:
       懶漢式單例
       餓漢式單例
       登記式單例
         單例模式確保某個(gè)類只有一個(gè)實(shí)例,而且自行實(shí)例化并向整個(gè)系統(tǒng)提供這個(gè)實(shí)例。在計(jì)算機(jī)系統(tǒng)中,線程池、緩存、日志對(duì)象、對(duì)話框、打印機(jī)、顯卡驅(qū)動(dòng)程序?qū)ο蟪1辉O(shè)計(jì)成單例。這些應(yīng)用都或多或少具有資源管理器的功能。每臺(tái)計(jì)算機(jī)可以有若干個(gè)打印機(jī),但只能有一個(gè)Printer Spooler,以避免兩個(gè)打印作業(yè)同時(shí)輸出到打印機(jī)中。每臺(tái)計(jì)算機(jī)可以有若干通信端口,系統(tǒng)應(yīng)當(dāng)集中管理這些通信端口,以避免一個(gè)通信端口同時(shí)被兩個(gè)請(qǐng)求同時(shí)調(diào)用。
餓漢式單例代碼如下:

  1. public class Student {

  2.         //構(gòu)造私有

  3.         private Student(){

  4.         }

  5.         // 自己造一個(gè)

  6.         // 靜態(tài)方法只能訪問靜態(tài)成員變量,加靜態(tài)

  7.         // 為了不讓外界直接訪問修改這個(gè)值,加private

  8.         private static Student s = new Student();

  9.         //提供公共的訪問模式

  10.         //為了保證外界能夠直接使用該方法,加靜態(tài)

  11.         public static Student getStudent(){

  12.                 return s;

  13.         }

  14. }

餓漢式在類創(chuàng)建的同時(shí)就已經(jīng)創(chuàng)建好一個(gè)靜態(tài)的對(duì)象供系統(tǒng)使用,以后不再改變,所以天生是線程安全的。
懶漢式代碼如下:

  1. public class Teacher {

  2.         private Teacher() {

  3.         }

  4.         private static Teacher t = null;

  5.         public synchronized static Teacher getTeacher() {

  6.                 // t1,t2,t3

  7.                 if (t == null) {

  8.                         //t1,t2,t3

  9.                         t = new Teacher();

  10.                 }

  11.                 return t;

  12.         }

  13. }

懶漢式單例是線程不安全的,需要在getTeacher()方法上加上synchronized來保證線程的安全

感謝各位的閱讀,以上就是“java單例設(shè)計(jì)模式的概念”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)java單例設(shè)計(jì)模式的概念這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!


標(biāo)題名稱:java單例設(shè)計(jì)模式的概念-創(chuàng)新互聯(lián)
分享鏈接:http://weahome.cn/article/phhej.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部