类加载器
来源:互联网 发布:软件网络安全策略 编辑:程序博客网 时间:2024/05/22 17:46
自己写个 类加载器
例
包 图
package com.in;import java.io.FileInputStream;import java.io.InputStream;import java.util.Date;import java.util.Properties;public class Reflect extends Date {public String toString(){return "hello";}}
写个自定义加载器加载Reflect.class
package com.in;import java.io.ByteArrayOutputStream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.util.Date;public class MyClassLoader extends ClassLoader{private String dir;public MyClassLoader(){}public MyClassLoader(String dir){this.dir = dir;}public void cypher(InputStream in,OutputStream out) throws IOException{int len = 0;while((len = in.read())!=-1){out.write(len );}}@Overrideprotected Class<?> findClass(String name) throws ClassNotFoundException {try {FileInputStream fis = new FileInputStream(dir + '\\' + name.substring(name.lastIndexOf('.')+1) + ".class");ByteArrayOutputStream bos = new ByteArrayOutputStream();cypher(fis,bos);fis.close();byte[] bytes = bos.toByteArray();return defineClass(name, bytes, 0, bytes.length);} catch (Exception e) {e.printStackTrace();}return super.findClass(name);}public static void main(String[] args) throws Exception {MyClassLoader my = new MyClassLoader("classLib");Class clazz = my.loadClass("com.in.Reflect");Date d = (Date)clazz.newInstance();System.out.println(d);}}
0 0
- 加载、类加载、类加载器
- 类加载机制及类加载器加载Class流程
- 类加载器---类加载器简介
- Java类加载器加载类顺序
- 类加载器---类加载机制
- Java类加载器加载类顺序
- Java类加载器加载类顺序
- Java类加载器加载类顺序
- 类加载器和类加载机制
- 使用类加载器加载配置文件
- 用类加载器加载配置文件
- 用类加载器加载配置文件
- 类加载器的加载机制
- 用java类加载器加载资源
- 扩展类加载器的加载问题
- java类加载器的加载顺序
- 使用类加载器加载配置文件
- Java 类加载器以及加载机制
- [Python网络编程]gevent httpclient以及网页编码
- 抓取图片
- 通过wifi热点软件分享网络时,重启的功效
- Android IntentService 的使用
- phpStorm+XAMPP的安装和配置
- 类加载器
- POJ 1422 Air Raid(匈牙利算法—最小路径覆盖)
- ASP.NET 1.x的开发人员
- Android ContentObserver简单实现
- 大文件分割程序
- 设计模式六大原则——迪米特法则(LoD)
- 打从.Net诞生那一天起
- Android 从uid到用户名的映射分析
- 中毒后电脑硬盘数据如何恢复丨用什么方法可以直接找回数据丨