據this question,它可以從一個jar文件中加載類:如何在運行時加載所有類的jar文件?
ClassLoader loader = URLClassLoader.newInstance(
new URL[] { jarFileURL },
getClass().getClassLoader()
);
Class<?> clazz = Class.forName("mypackage.MyClass", true, loader);
如何加載包含在一個jar文件中的所有類?
你爲什麼要這樣做? – mcfinnigan
不成熟的優化?無法容忍代碼的關鍵部分的延遲?無論如何,在這種情況下,最好在關鍵部分之前製作每個「關鍵」部分的對象。 –
下面是一個實際的用例:如果你編寫一個像getdown(http://code.google.com/p/getdown/)這樣的更新工具,並且替換你自己的jar(忽略這可能有點脆弱),那麼這個類我們嘗試的加載器無法加載新類(因爲文件句柄可能無效)。如果我們預先加載所有需要更新的結束的類,那麼我們很好。 – mringwal