clsloader.java

来自「本程序有JAVA编写」· Java 代码 · 共 41 行

JAVA
41
字号
package sunstudio.record.au.userinterface;

import java.io.*;
import java.security.*;
import java.lang.reflect.*;

public class ClsLoader extends ClassLoader{
	
	byte[] clsData=null;
	
	public Class loadClass(byte[] classData,String name) throws ClassNotFoundException{
		this.clsData=classData;
		return loadClass(name,true);
	}
	public Class loadClass(String name,boolean resolve) throws ClassNotFoundException {
		Class clasz=null;
		clasz=findLoadedClass(name);
		if(clasz!=null)return clasz;
		try{
			clasz=defineClass(clsData,0,clsData.length);
		}catch(Exception fe){
			fe.printStackTrace();
		}catch(Throwable tt){}
		if(clasz==null)clasz=findSystemClass(name);
		// 必需的步骤3:如有必要,则装入相关的类
		if(resolve&&clasz!=null)resolveClass(clasz);
		return clasz;
	}
	public Class loadClass(String name) throws ClassNotFoundException{
		Class clasz=null;
		clasz=findLoadedClass(name);
		if(clasz!=null)return clasz;
		try{
			clasz=defineClass(clsData,0,clsData.length);
		}catch(Exception fe){
			fe.printStackTrace();
		}catch(Throwable tt){}
		if(clasz==null)clasz=findSystemClass(name);
		return clasz;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?