前言:
了解JAVA的类装载器:
Java 编程语言编译器把源代码代码转换成为一个假定机器(即虚拟机)上的 机器语言。虚拟机代码保存在一个后缀为.class的类文件中。每个类文件保存这
个类的所有方法的虚拟机代码。
当运行时用一个解释程序解释这些类文件,把这些文件内的虚拟机指信信令翻 译成本地的机器语言,分存内存,确定程序入口点。
类装载器功能类似与C中调入dll文件文法,在C中是调入dll文件分配内存,确定 程序入口点(分配入口指针),而在java中调入一个class文件,同样是从本地或网络
中调入文件,转换为本地机器代码,分配内存,确定程序入口点。
当我们在使用中有时要使用一个新类,知道它的文件路径和它的文件名字,我们 要把它调入系统并使用它或者说一个类文件已经被加密处理,类文件里面的内容
是我们加密后的密文,不能直接使用,只能是对文件内容解密后才能使用,就可 以用类库加载器ClassLoader,把类文件当做数据流读入到一个byte[]中,对
这个 byte[]进行解密处理后(没加密当然就不用做这步了),再通过 byte[] 生成一个类,并加载到系统中。
对于使用中有以下两种方法:
方法1
使用接口类,新调用的class是对它的具体实现
1) 写一个接口类 newface.class
public interface newface {
public void out(String xx);
public int outsize(String x1,String x2);
}
2) 写接口文件实现 testfacea.class 并更名为 testfacea.file 或其它文件名全可以
/*
newface的实现
*/
public class testfacea implements newface{
public void out(String xx) {
System.out.println(xx+" for testfacea ");