📄 eclassloader.java
字号:
package efly.clientframe.core.loader;
/**
* @author efly
* @version 1.0.0,11/22/02
*/
public final class EClassLoader extends ClassLoader {
private static int maxsize = 10000;
private static EClassLoader instance = null;
/**
* Constructor for EflyClassLoader.
*/
protected EClassLoader() {
super();
}
public synchronized static EClassLoader getEClassLoader() {
if (instance == null)
instance = new EClassLoader();
return instance;
}
public Class find(String classname) {
try {
Class clazz = this.findLoadedClass(classname);
System.out.println(clazz.getName() + " is load");
return clazz;
} catch (Exception e) {
return null;
}
}
public Class load(String namefile, String classname)
throws java.lang.Exception {
Class clazz = find(classname);
if (clazz != null)
return clazz;
java.io.FileInputStream in = new java.io.FileInputStream(namefile);
byte[] classbyte = new byte[maxsize];
int readsize;
readsize = in.read(classbyte);
System.out.println("读文件长:" + readsize);
in.close();
return defineClass(classname, classbyte, 0, readsize);
}
public void link(String namefile, String classname)
throws java.lang.Exception {
Class clink = load(namefile, classname);
resolveClass(clink);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -