读书人

类装载器、双亲嘱托模型、命名空间、安

发布时间: 2013-12-20 00:23:10 作者: rapoo

类装载器、双亲委托模型、命名空间、安全性

摘自: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;?????
  • ????}?????
  • }????

    ?

  • 读书人网 >开源软件

    热点推荐