类装载器、双亲嘱托模型、命名空间、安全性
类装载器、双亲委托模型、命名空间、安全性摘自:http://blog.csdn.net/yuan22003/article/details/6839335一.
类装载器、双亲委托模型、命名空间、安全性
摘自:http://blog.csdn.net/yuan22003/article/details/6839335
一. 基本概念
?
??? 类加载器是用来把类
类加载器
命名空间
Loader1
Class1
Loader2
Class1 Class2
Loader3
Class1 Class2 Class3
Loader4
Class1 Class2 Class4
?
??????? ClassLoader[java]
import?java.io.ByteArrayOutputStream;??import?java.io.File;??import?java.io.FileInputStream;??import?java.io.IOException;????public?class?MyClassLoader?extends?ClassLoader?{?????????????public?Class?findClass(String?name)?{?????????????byte[]?data?=?loadClassData(name);?????????????return?defineClass(name,?data,?0,?data.length);?????????}?????????????public?byte[]?loadClassData(String?name)?{?????????????FileInputStream?fis?=?null;?????????????byte[]?data?=?null;?????????????try?{?????????????????fis?=?new?FileInputStream(new?File("E:/home/"?+?name.replace(".",?"/")?+?".class"));?????????????????ByteArrayOutputStream?out?=?new?ByteArrayOutputStream();?????????????????int?ch?=?0;?????????????????while?((ch?=?fis.read())?!=?-1)?{?????????????????????out.write(ch);?????????????????}?????????????????data?=?out.toByteArray();?????????????}?catch?(IOException?e)?{?????????????????e.printStackTrace();?????????????}?????????????return?data;?????????}?????}?????