import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.Iterator;
import java.util.Vector;
公共类自由动态矩阵{
静态{
//首先确认这些dll文件存在
system.load (c :/test/decode.dll );
}
//*
私有同步化语音自由语言(字符串dllname ) {
try {
field field=class loader.class.getdeclaredfield (' native libraries ' );
field.set accessible (真;
vectorlibs=(vector ) field.get ) classloader;
Iterator it=libs.iterator (;
while(it.Hasnext ) ) ) )。
o=it.next (;
Field[] fs=o.getClass ().getDeclaredFields );
布尔has init=false;
for(intk=0; k fs.length; k ) {
if(fs[k].getname ).equals('name ) ) }
fs [ k ].set accessible (真;
stringdllpath=fs[k].get(o ).toString );
if(dllpath.Endswith(dllname ) ) }
hasInit=true;
}
}
}
if(Hasinit ) {
' finalize ',new Class[0];
finalize.setaccessible(true;
finalize.invoke(o,new Object[0];
it.remove (;
LIBS.remove(o;
}
}
}catch(exceptione ) {
e .打印堆栈跟踪(;
}
}
publicstaticvoidmain (string args [ ] ) {
t.Freedll(decode.dll );
}
}