bytearrayclassloader.java
来自「这是linux下ssl vpn的实现程序」· Java 代码 · 共 36 行
JAVA
36 行
package com.sslexplorer.vpn.util;
import java.util.Hashtable;
public class ByteArrayClassLoader
extends ClassLoader {
static ByteArrayClassLoader instance;
Hashtable classes = new Hashtable();
ClassLoader parent;
public ByteArrayClassLoader(ClassLoader parent) {
this.parent = parent;
}
public Class createFromByteArray(String name, byte[] buf, int off, int len) {
if(!classes.containsKey(name)) {
classes.put(name, defineClass(name, buf, off, len));
}
return (Class) classes.get(name);
}
public Class loadClass(String name, boolean resolve) throws ClassNotFoundException {
if(classes.containsKey(name)) {
return (Class) classes.get(name);
} else
return parent.loadClass(name);
}
public static ByteArrayClassLoader getInstance() { return instance==null? instance = new ByteArrayClassLoader(ByteArrayClassLoader.class.getClassLoader()) : instance; }
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?