關(guān)于靜態(tài)方法有些疑問,請高手們指點(diǎn)一下:比如:有一個(gè)工具類Util.java,里面有一個(gè)方法和成員變量,都是static 類型。 public static HashMap<String, String> orgMap = new HashMap<String, String>();protected void buildMap(String MapDataPath){ orgMap.clear(); .......} 另外有三個(gè)java 文件要使用這個(gè)工具類。我的疑問是,如果我同時(shí)運(yùn)行這三個(gè)java程序,使用的是同一個(gè) orgMap 嗎? 請高手們詳細(xì)指點(diǎn)一下,非常感謝~~
6 回答

富國滬深
TA貢獻(xiàn)1790條經(jīng)驗(yàn) 獲得超9個(gè)贊
如果在同一個(gè)jvm里運(yùn)行,就是同一個(gè)實(shí)例。如果三個(gè)程序分別在不同的jvm里運(yùn)行,則在每個(gè)jvm里有單獨(dú)的實(shí)例。

慕碼人2483693
TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超9個(gè)贊
你所說的 三個(gè)程序我不太明白什么意思 反正每個(gè)線程過來訪問 這個(gè)orgMap都是同一個(gè)

米脂
TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超3個(gè)贊
當(dāng)程序運(yùn)行起來,orgMap 就創(chuàng)建好了,所有線程調(diào)用的是同一個(gè)對象

躍然一笑
TA貢獻(xiàn)1826條經(jīng)驗(yàn) 獲得超6個(gè)贊
java中的靜態(tài)方法是在程序運(yùn)行起來之后就創(chuàng)建好了,也就是說靜態(tài)方法里面的變量也已經(jīng)new好了,所以無論多少線程訪問都是用的同一個(gè)orgMap
添加回答
舉報(bào)
0/150
提交
取消