我看到Class.getResource
和ClassLoader.getSystemResource
用於定位Java中的資源。有什麼理由更喜歡一個到另一個?Class.getResource和ClassLoader.getSystemResource:是否有理由更喜歡另一個?
27
A
回答
31
有幾種方法來加載資源,每一個稍有不同的含義所在的 資源。這使用用於啓動程序的類路徑。如果你在一個像tomcat這樣的web容器中,這不會從你的WAR文件中獲取資源。
Class<T>#getResource()
預置一類的包名稱資源的名稱,然後委託給它的類加載器。如果您的資源存儲在映射類的包層次結構中,請使用此方法。
ClassLoader#getResource()
委託給它的父類加載器。這將最終搜索到系統類加載器的資源。
如果您感到困惑,只需堅持ClassLoader#getResource()
0
ClassLoader.getSystemResource()
將使用bootstrap(系統)類加載器。
Class.getResource()
將使用該特定實例的Class
的類加載器,換言之,無論使用哪個類加載器來加載該類。這可能是與系統類加載器不同的類加載器。
3
此方法委託調用其 類加載器,從而使這些 更改資源名稱後:如果 資源名稱以「/」開頭,這是 不變;否則,在轉換「。」之後,軟件包名稱 被預置爲資源名稱 。至 」/」。如果這個 對象由引導程序 加載程序加載,則該調用將委託給
ClassLoader.getSystemResource
。
和ClassLoader.getSystemResource()
從用來加載 類的搜索路徑指定名稱 的資源。
ClassLoader::getSystemResource()
使用系統類加載器 - 此方法通過系統類加載器
相關問題
- 1. 是否有一個理由,更喜歡這些實現了另一種
- 2. 有沒有理由更喜歡一個變量的多個unordered_map結構之一?
- 3. 檢查用戶和另一個用戶是否喜歡對方並獲取喜歡的用戶信息
- 4. 喜歡和不喜歡在同一列
- 5. SQL不喜歡和喜歡
- 6. ReentrantLock vs stampedlock和有什麼不一樣?哪一個更喜歡?
- 7. Facebook的「喜歡」是否有限制?
- 8. 列表由喜歡
- 9. 查詢一個喜歡B,B喜歡C,分離的兩個自由度
- 10. 我如何讓VS2010更喜歡一個包含目錄而不是另一個?
- 11. 有沒有任何理由更喜歡嘲諷一個界面而不是使用可重寫成員的類?
- 12. 一個人是否可以多次喜歡一個物體?
- 13. 喜歡一個活動是喜歡在Facebook上的生意是一回事嗎?
- 14. 是否有Xcode的包管理器? (喜歡的NuGet)
- 15. Facebook喜歡動作 - 檢查URL是否被喜歡
- 16. 喜歡網站的人是否需要再次喜歡
- 17. 是否確定來處理特定的異常喜歡這個
- 18. FOSFacebookBundle VS HWIOAuthBundle - 你更喜歡哪一個?
- 19. 如何讓ADL更喜歡功能模板到另一個
- 20. 的MySQL獲得行,但更喜歡一個列值超過另
- 21. 有沒有理由喜歡提取函數來訪問屬性$?
- 22. MongoDB查詢至少一個屬性,但更喜歡更理想所有
- 23. 計數喜歡不喜歡和點擊
- 24. Jquery ajax喜歡和不喜歡按鈕
- 25. 喜歡和喜歡的按鈕爲Drupal
- 26. 任何理由更喜歡is.character比class(object)==「character」?
- 27. Facebook喜歡評論/喜歡更新頁面沒有頁面referesh
- 28. 在TypeScript中,有沒有理由更喜歡const foo:Type = {...}或const foo = {...}作爲Type?
- 29. cpp有沒有理由更喜歡矢量<class_type*>到矢量<void*>?
- 30. 喜歡和REGEXP_LIKE