首页 > 编程语言 > 详细

java类加载器

时间:2015-09-04 12:33:31      阅读:300      评论:0      收藏:0      [点我收藏+]
package vmrun;

import java.io.InputStream;

public class ClassLoadTest {
	public static void main(String [] args) throws Exception{
		ClassLoader myLoader = new ClassLoader() {

			@Override
			public Class<?> loadClass(String name)
					throws ClassNotFoundException {
				try {
					String filename = name.substring(name.lastIndexOf(".")+1)+".class";
					InputStream is = getClass().getResourceAsStream(filename) ;
					if (is== null){
						return super.loadClass(name) ;
					}
					byte [] b= new byte[is.available()];
					is.read(b) ;
					return defineClass(name, b, 0,b.length);
				} catch (Exception e) {
					throw new ClassNotFoundException(name);
				}
			}
			
		};
		
		Object object= myLoader.loadClass("vmrun.InvokeDynamicTest").newInstance();
		System.out.println(object.getClass()) ;
		System.out.println(object instanceof vmrun.InvokeDynamicTest);
	}
}

 输出

 class vmrun.InvokeDynamicTest

false

java类加载器

原文:http://www.cnblogs.com/chuiyuan/p/4781538.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!