欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

前言

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

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

往往會對回答造成干擾或者影響,

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

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

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

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

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

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

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

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

如何保證對象唯一性呢?

思考

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

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

3,對外提供方法,讓其他程序獲取這個對象。

步驟

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

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

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

代碼體現(xiàn):

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

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

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

//餓漢式
class Single{
private Single(){} //私有化構(gòu)造函數(shù)。
private static Single s = new Single(); //創(chuàng)建私有并靜態(tài)的本類對象。
public static Single getInstance(){ //定義公有并靜態(tài)的方法,返回該對象。
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)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

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

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

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

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

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

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

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

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

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

    Java位運算和邏輯運算的區(qū)別實例

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

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

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

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

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

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

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

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

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

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

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

最新評論