第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在不同的java類中使用已經(jīng)初始化的類,

在不同的java類中使用已經(jīng)初始化的類,

偶然的你 2021-12-01 15:02:56
我是 Java 新手,正在構(gòu)建一個 springboot 應(yīng)用程序,其中不同的類需要來自同一來源的數(shù)據(jù)。源是幾個文件,但重要的是要花費一些時間才能將數(shù)據(jù)導(dǎo)出;獲取所有數(shù)據(jù)與獲取不同類需要的每個部分一樣快,因此對函數(shù)進行分區(qū)無濟于事。因此,我想要一個初始化一次的類,獲取所有數(shù)據(jù),然后為需要數(shù)據(jù)的類提供服務(wù)。理想情況下,它僅在請求時才初始化,然后數(shù)據(jù)將保存在實例中。假設(shè)我有這門課:package myapp;import java.util.concurrent.TimeUnit;import java.lang.InterruptedException;public class ExampleClass {    private int usefulValue;    public ExampleClass(){        this.usefulValue = slowMethod();    }    private int slowMethod(){ //just an example of something that takes time        int usefulValue;        try {            TimeUnit.SECONDS.sleep(500);        } catch (InterruptedException e){            ;        }        usefulValue = 15;        return usefulValue;    }    public int getUsefulValue(){        return this.usefulValue;    }}我怎樣才能usefulValue讓它運行并可供包中的其他類使用而無需在每個單獨的類中重新加載它?這些值在內(nèi)存方面非常易于管理,我正在專門尋找內(nèi)存解決方案;我可以將它寫入文件/數(shù)據(jù)庫或運行一個為應(yīng)用程序提供服務(wù)的套接字服務(wù)器,但問題與在 Java 中可以做什么有關(guān)。附言。usefulValue大約每天變化一次
查看完整描述

2 回答

?
德瑪西亞99

TA貢獻1770條經(jīng)驗 獲得超3個贊

package myapp;

import java.util.concurrent.TimeUnit;

import java.lang.InterruptedException;


public class ExampleClass {

public static int usefulValue;


public ExampleClass(){

    ExampleClass.usefulValue = slowMethod();

}


private int slowMethod(){ //just an example of something that takes time

    int usefulValue;

    try {

        TimeUnit.SECONDS.sleep(500);

    } catch (InterruptedException e){

        ;

    }

    usefulValue = 15;

    return usefulValue;


}

public int getUsefulValue(){

    return ExampleClass.usefulValue;

}

}

同樣在任何其他類中,您可以像這樣使用它的值,ExampleClass.usefulValue因此它的值在整個應(yīng)用程序中或在此線程中保持不變。


查看完整回答
反對 回復(fù) 2021-12-01
?
MMTTMM

TA貢獻1869條經(jīng)驗 獲得超4個贊

您可以使用延遲初始化。


    private Integer usefulValue;

    public ExampleClass(){

        // this.usefulValue = slowMethod();

    }


    public int getUsefulValue(){

        if (this.usefulValue == null) {

            this.usefulValue = slowMethod();

        }

        return this.usefulValue;

    }

或用于此:lombok


查看完整回答
反對 回復(fù) 2021-12-01
  • 2 回答
  • 0 關(guān)注
  • 176 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號