亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

java保證對(duì)象在內(nèi)存中唯一性的實(shí)現(xiàn)方法

 更新時(shí)間:2019年06月27日 14:10:22   作者:javaABCD  
這篇文章主要介紹了java如何保證對(duì)象在內(nèi)存中的唯一性,如果創(chuàng)建多個(gè)對(duì)象的話,可能會(huì)引發(fā)出各種各樣的問題,這時(shí),就需要我們保證這個(gè)對(duì)象在內(nèi)存中的唯一性,需要的朋友可以參考下

前言

剛看到這個(gè)題目的朋友第一反應(yīng)肯定是好奇,之后再細(xì)細(xì)思考下就會(huì)發(fā)現(xiàn)這個(gè)題目眼熟了。

就算是同一個(gè)答案,如果提問的方式不同,

往往會(huì)對(duì)回答造成干擾或者影響,

上學(xué)的時(shí)候老師也說過差不多的話,

學(xué)過設(shè)計(jì)模式的人看到這個(gè)題目之后肯定不會(huì)陌生:請(qǐng)描述java中單例設(shè)計(jì)模式的實(shí)現(xiàn)步驟,那估計(jì)就能答出來了。

而java中的單例模式,相信只要是你看過一些java視頻教程,肯定就能寫出來的。

所以我們?cè)谄綍r(shí)學(xué)習(xí)的時(shí)候要注意舉一反三,掌握其精髓,這樣在面試或者工作的時(shí)候才能應(yīng)對(duì)自如,久而久之,就成為了大神級(jí)別。

解決的問題:保證對(duì)象在內(nèi)存中的唯一性。

平時(shí)在開發(fā)的時(shí)候經(jīng)常會(huì)遇到如下場景:多程序讀取一個(gè)配置文件時(shí),記錄日志時(shí)。

如果創(chuàng)建多個(gè)對(duì)象的話,可能會(huì)引發(fā)出各種各樣的問題,這時(shí),就需要我們保證這個(gè)對(duì)象在內(nèi)存中的唯一性

java中的Runtime()方法就是單例設(shè)計(jì)模式進(jìn)行設(shè)計(jì)的。

如何保證對(duì)象唯一性呢?

思考

1,不讓其他程序創(chuàng)建該類對(duì)象。

2,在本類中創(chuàng)建一個(gè)本類對(duì)象。

3,對(duì)外提供方法,讓其他程序獲取這個(gè)對(duì)象。

步驟

1,因?yàn)閯?chuàng)建對(duì)象都需要構(gòu)造函數(shù)初始化,只要將本類中的構(gòu)造函數(shù)私有化,其他程序就無法再創(chuàng)建該類對(duì)象;

2,就在類中創(chuàng)建一個(gè)本類的對(duì)象;

3,定義一個(gè)方法,返回該對(duì)象,讓其他程序可以通過方法就得到本類對(duì)象。這樣方便我們進(jìn)行控制;

代碼體現(xiàn):

1,私有化構(gòu)造函數(shù);

2,創(chuàng)建私有并靜態(tài)的本類對(duì)象;

3,定義公有并靜態(tài)的方法,返回該對(duì)象。

//餓漢式
class Single{
private Single(){} //私有化構(gòu)造函數(shù)。
private static Single s = new Single(); //創(chuàng)建私有并靜態(tài)的本類對(duì)象。
public static Single getInstance(){ //定義公有并靜態(tài)的方法,返回該對(duì)象。
return s;
}
}
//懶漢式:延遲加載方式。
class Single2{
private Single2(){}
private static Single2 s = null;
public static Single2 getInstance(){
if(s==null)
s = new Single2();
return s;
}
}

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • java實(shí)現(xiàn)面板之間切換功能

    java實(shí)現(xiàn)面板之間切換功能

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)面板之間切換功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • java RMI詳細(xì)介紹及實(shí)例講解

    java RMI詳細(xì)介紹及實(shí)例講解

    這篇文章主要介紹了java RMI詳細(xì)介紹及實(shí)例講解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • JVM的GC日志及運(yùn)行參數(shù)解讀

    JVM的GC日志及運(yùn)行參數(shù)解讀

    這篇文章主要為大家介紹了JVM的GC日志及運(yùn)行參數(shù)解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • spring解決循環(huán)依賴的方案示例

    spring解決循環(huán)依賴的方案示例

    這篇文章主要介紹spring如何解決循環(huán)依賴,文中有相關(guān)的代碼示例給大家參考,對(duì)我們的學(xué)習(xí)或工作有一定的幫助,感興趣的同學(xué)可以借鑒閱讀
    2023-05-05
  • Java位運(yùn)算和邏輯運(yùn)算的區(qū)別實(shí)例

    Java位運(yùn)算和邏輯運(yùn)算的區(qū)別實(shí)例

    Java位運(yùn)算和邏輯運(yùn)算的區(qū)別實(shí)例,請(qǐng)參考下面代碼,希望對(duì)你有所幫助
    2013-02-02
  • 如何徹底刪除SVN中的文件和文件夾(附恢復(fù)方法)

    如何徹底刪除SVN中的文件和文件夾(附恢復(fù)方法)

    在SVN中如果刪除某個(gè)文件或文件夾也可以在歷史記錄中進(jìn)行找回,有的時(shí)候需要徹底刪除某些文件,即不希望通過歷史記錄進(jìn)行恢復(fù),需要在服務(wù)器上對(duì)SVN的數(shù)據(jù)進(jìn)行重新整理
    2014-08-08
  • 淺談MyBatis Plus主鍵設(shè)置策略

    淺談MyBatis Plus主鍵設(shè)置策略

    本文主要介紹了MyBatis Plus主鍵設(shè)置策略,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • Java 基于雪花算法生成分布式id

    Java 基于雪花算法生成分布式id

    SnowFlake 算法(雪花算法), 是Twitter開源的分布式id生成算法。其核心思想就是: 使用一個(gè)64 bit的long型的數(shù)字作為全局唯一id。本文講述Java 基于雪花算法生成分布式id的方法
    2021-06-06
  • Java簡單高效實(shí)現(xiàn)分頁功能

    Java簡單高效實(shí)現(xiàn)分頁功能

    這篇文章主要介紹了Java簡單高效實(shí)現(xiàn)分頁功能,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Java設(shè)計(jì)模式之迭代器模式

    Java設(shè)計(jì)模式之迭代器模式

    這篇文章介紹了Java設(shè)計(jì)模式之迭代器模式,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-10-10

最新評(píng)論