java javaclassloader怎么加載jar包?
javaclassloader怎么加載jar包?設(shè)我們有一個(gè)hello.jar文件,里面有一個(gè)Util類,我們希望在運(yùn)行期調(diào)將這個(gè)jar包放入到我們運(yùn)行環(huán)境并且調(diào)用里面的Util.getVersion
javaclassloader怎么加載jar包?
設(shè)我們有一個(gè)hello.jar文件,里面有一個(gè)Util類,我們希望在運(yùn)行期調(diào)將這個(gè)jar包放入到我們運(yùn)行環(huán)境并且調(diào)用里面的Util.getVersion方法。怎么實(shí)現(xiàn)? 在java中,我們的類都是通過(guò)ClassLoader來(lái)加載的,同時(shí)ClassLoader具有層級(jí)關(guān)系,當(dāng)某個(gè)類找不到時(shí),它會(huì)去他的父類加載器去尋找,如果依然找不到,就拋出ClassNotFoundException了。 為了動(dòng)態(tài)加載hello.jar里面的Util類,我們需要將這個(gè)jar包放入到我們的類加載器中去,然后再獲取里面的類。如下面的代碼。 // 位于hello.jar package com.flyingzl public class Util { public static void getVersion(){ System.out.println("java version: " System.getProperty("java.version")) } }
Class.forName是java的什么機(jī)制?
反射