首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

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

2013-12-20 
类装载器、双亲委托模型、命名空间、安全性摘自: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;?????
  • ????}?????
  • }????

    ?

  • 热点排行