cargador de encargo

cargador de clase personalizada

1, el cargador de clases es capaz de cargar en la JVM .class, cargado en la clase de objeto del objeto, es responsable de la lectura de código de bytes de Java, y convertida en una instancia de la clase java.lang.Class tipo cargador de clases, se necesita ser cargado.
2, el cargador de clases de carga:
  1) la carga implícita Stu Estudiante Estudiante = new (), usando el cargador de clases de JDK nativa;
  2) por Class.forName ( "com.javaee.Student"); ( JDBC conector bases de datos similares).
  archivo 3) puede ser cargado desde la clase sufijo definido, garantía para conseguir el servidor atacado no está disponible, desempeñar un papel en la protección.
3, que se utiliza para los servidores, de procesamiento remoto.
Ejemplo:

public class Demo01 {
    public static void main(String[] args) throws Exception{
        MessageClassLoader messageClassLoader = new MessageClassLoader();
        String kindName = "com.tx.test.classloader.Message";
        Class<?> clazz = messageClassLoader.loadData(kindName);
        Object object = clazz.getDeclaredConstructor().newInstance();
        Method method = object.getClass().getDeclaredMethod("print",String.class);
        method.invoke(object,"www.baidu.com");
    }
}
//自定义类加载器
class MessageClassLoader extends ClassLoader {

    public Class<?> loadData(String kindName) {
        String addressName = "E:" + File.separator + "IDEA_JavaSE练习" + File.separator + "类加载器"
                + File.separator + "src" + File.separator + kindName.replace(".", File.separator) + ".class";
        try {
            InputStream in = new FileInputStream(new File(addressName));
            int len = in.available();
            byte[] data = new byte[len];
            int read = in.read(data, 0, len);
            return this.defineClass(kindName, data, 0, len);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
}



resultados:

send Show:www.baidu.com
Publicado 61 artículos originales · ganado elogios 0 · Vistas 2171

Supongo que te gusta

Origin blog.csdn.net/sabstarb/article/details/104403301
Recomendado
Clasificación