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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Class.getResource()和ClassLoader.getResource()之間有什么

Class.getResource()和ClassLoader.getResource()之間有什么

回首憶惘然 2019-06-21 17:24:51
Class.getResource()和ClassLoader.getResource()之間有什么區(qū)別?我想知道Class.getResource()和ClassLoader.getResource()?編輯:我特別想知道在文件/目錄級(jí)別是否涉及緩存。如“目錄列表是否緩存在類版本中?”AFAIK基本上應(yīng)該這樣做,但事實(shí)并非如此:getClass().getResource() getClass().getClassLoader().getResource()我在處理一些報(bào)表生成代碼時(shí)發(fā)現(xiàn)了這一點(diǎn),這些代碼在WEB-INF/classes/從該目錄中的現(xiàn)有文件中刪除。當(dāng)使用Class中的方法時(shí),我可以使用getClass().getResource(),但是當(dāng)嘗試獲取新創(chuàng)建的文件時(shí),我收到了一個(gè)空對(duì)象。瀏覽目錄可以清楚地顯示新文件在那里。文件名前面加上一個(gè)正斜杠,如“/myFile.txt”。這個(gè)ClassLoader版本getResource()另一方面,確實(shí)找到了生成的文件。從這一經(jīng)驗(yàn)來(lái)看,目錄列表似乎存在某種類型的緩存。我說(shuō)的對(duì)嗎?如果是的話,這份文件在哪里?從API文檔在……上面Class.getResource()查找具有給定名稱的資源。用于搜索與給定類關(guān)聯(lián)的資源的規(guī)則由類的定義類加載器實(shí)現(xiàn)。此方法委托給此對(duì)象的類加載器。如果此對(duì)象是由引導(dǎo)類加載器加載的,則該方法將委托給ClassLoader.getSystemResource(java.lang.String).。對(duì)我來(lái)說(shuō),這是“Class.getResource實(shí)際上正在調(diào)用它自己的類加載器的getResource()”。這和做getClass().getClassLoader().getResource()..但顯然不是。有人能給我一些關(guān)于這件事的啟示嗎?
查看完整描述

3 回答

?
夢(mèng)里花落0921

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超6個(gè)贊

Class.getResource可以使用“相對(duì)”資源名稱,這是相對(duì)于類的包處理的?;蛘?,您可以使用前導(dǎo)斜杠指定“絕對(duì)”資源名稱。類加載器資源路徑總是被認(rèn)為是絕對(duì)的。

因此,以下內(nèi)容基本上是等價(jià)的:

foo.bar.Baz.class.getResource("xyz.txt");foo.bar.Baz.class.getClassLoader().getResource("foo/bar/xyz.txt");

它們也是如此(但它們與上面的不同):

foo.bar.Baz.class.getResource("/data/xyz.txt");foo.bar.Baz.class.getClassLoader().getResource("data/xyz.txt");


查看完整回答
反對(duì) 回復(fù) 2019-06-21
?
達(dá)令說(shuō)

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超6個(gè)贊

第一個(gè)調(diào)用相對(duì)于.class文件,而后者相對(duì)于類路徑根進(jìn)行搜索。

為了調(diào)試類似的問(wèn)題,我打印URL:

System.out.println( getClass().getResource(getClass().getSimpleName() + ".class") );


查看完整回答
反對(duì) 回復(fù) 2019-06-21
  • 3 回答
  • 0 關(guān)注
  • 1461 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

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