在一個大量使用反射來選擇基於環境的類的項目中,有沒有一種方法可以確定在構建中包含哪些庫?目前,從項目中拿出一個圖書館是一場賭博,但堅持現有的「包括所有東西,這是唯一可以肯定的方式」的計劃,使整個事情變得臃腫和笨拙。類路徑和反射
Q
類路徑和反射
0
A
回答
1
不幸的是,對於類動態加載,特別是使用類名稱作爲字符串傳遞的工廠來說,這不會有困難。
如果您的jvm支持-Xcomp and -Xbatch
選項以及-XX:CompileThreshold
,您可以在開發和測試環境中使用它。它會增加你的啓動時間。
這些選項只會讓您的工作更輕鬆,但您仍然可能需要徹底測試。
1
您可以使用JavaAssist lib在運行時包含新的類路徑或修改類。
你可以註冊一個目錄名作爲類搜索路徑。例如,下面的代碼添加了一個目錄/ usr /本地/ javalib搜索路徑:
ClassPool pool = ClassPool.getDefault();
pool.insertClassPath("/usr/local/javalib");
,該用戶可添加的搜索路徑不僅是一個目錄,但也有網址:
ClassPool pool = ClassPool.getDefault();
ClassPath cp = new URLClassPath("www.javassist.org", 80, "/java/", "org.javassist.");
pool.insertClassPath(cp);
相關問題
- 1. 使用Java反射從類路徑中加載類
- 2. 類和路徑
- 3. 路由和反射問題
- 4. 如何使用反射包從類路徑創建對象
- 5. 反射和泛型類型
- 6. 內存映射類路徑資源
- 7. 無法映射路徑'/ doc'。 server.map路徑
- 8. PhpStorm映射路徑
- 9. 從本地路徑或映射路徑獲取UNC路徑
- 10. Java反射類
- 11. 反射類型和類型描述符
- 12. Servlet容器和類路徑
- 13. sbt,碼頭和類路徑
- 14. 如何使用反射獲取ASP.NET調試路徑?
- 15. 無法映射路徑'/'
- 16. 映射路徑問題
- 17. DLR和反射
- 18. 在weblogic上加載類路徑和類
- 19. Tomcat類路徑
- 20. Java類路徑
- 21. Java類路徑
- 22. C#好友類/元數據和反射
- 23. VB .NET DirectCast和類型反射
- 24. C#,反射和原始類型
- 25. C++中的元類和反射
- 26. Java:靜態嵌套類和反射:「$」vs「。」
- 27. C#反射和審計類型
- 28. Kotlin:isAssignableFrom和反射類型檢查
- 29. 反射和自動生成類型
- 30. 反射和拳擊值類型
另外,檢查這個問題:http://stackoverflow.com/questions/3369791/java-vm-tuning-xbatch-and-xcomp – naikus 2010-08-13 07:49:21