如何创建不同的ClassLoader加载同名的类

问题描述

一般同一个ClassLoader只能加载一个同名的类,但是老大想我做一个向下兼容检测的程序.遇到一个问题,无法加载两个同名的类到ClassLoader.请问下如何创建两个不同的ClassLoader

解决方案

通过继承ClassLoader ,说实话具体我也没有写过,可以参考API或者是google些资料。class MyClassLoader extends ClassLoader { public Class findClass(String name) { byte[] b = loadClassData(name); return defineClass(name, b, 0, b.length); } private byte[] loadClassData(String name) { // load the class data from the connection . . . } }

时间: 2024-10-27 00:23:01

如何创建不同的ClassLoader加载同名的类的相关文章

Android图片加载的缓存类_Android

本文为大家分享了Android图片加载的缓存类,供大家参考,具体内容如下 import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.lang.ref.SoftReferenc

Android图片加载的缓存类

本文为大家分享了Android图片加载的缓存类,供大家参考,具体内容如下 import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.lang.ref.SoftReferenc

图像处理-图像数据怎么从内存加载到CImage类,哪个函数可用?

问题描述 图像数据怎么从内存加载到CImage类,哪个函数可用? 比如说现在有个RGBQUAD类型的数组,怎么把里面的图象数据转换成CImage类图像,难道只有用指针循环取像素值然后赋值吗? 解决方案 RGBQUAD类型不知道你说的是什么,但是CImage其实就是内存中的一种. 解决方案二: CreateDIBitmap () ??

jboss classloader加载机制

1. 概念   UCL : org.jboss.mx.loading.UnifiedClassLoader3 ,它继承标准的java.net.URLClassLoader,覆盖了标准parent delegation模型以使用共享class和资源仓库   仓库(responsitory): org.jboss.mx.loading.UnifiedLoaderRepository3.   平面模型:为了热deploy模块的需要,JBoss实现了自己的类装载器UnifiedClassLoader3,

Java中加载配置文件的集中方式,以及利用ClassLoader加载文件

 我们往常进行文件的加载的时候 用到的都是  FileInputStream进行 文件的加载比如下面一个例子 :  InputStream in=FileInputStream("1.properties");  Properties p=new Properties() ; p.load(int)  ;//加载输入流 获得键值对 p.getProperties(...) ;//// 我们通常都是这样来加载配置文件 .我们知道 我们在使用 第三方提供的类的时候 第三方都是以 jar包的

一些资源文件无法加载-ActionBar-PullToRefresh工具类

问题描述 ActionBar-PullToRefresh工具类 ActionBar-PullToRefresh工具类 在修改ActionBar-PullToRefresh工具类时其中类AbcDefaultHeaderTransforme中一些资源无法加载,如图片所示-错误提示如:ActionBar-cannot-be-resolved-or-is-not-a-field,这个项目最开始是继承自activity的,可是导入V7的包也没有用,但是我新建了另外的一个继承自actionbaractivi

php中使用__autoload()自动加载未定义类的实现代码_php技巧

下面是一段使用__autoload()的代码,供大家学习参考: 复制代码 代码如下: <?php/*** 自动加载相关类库文件*/function __autoload($classname){if(substr($classname,-6)=="Action"){include APP_PATH.'controllers/'.$classname.'.class.php';}elseif(substr($classname, -5)=="Model"){in

Dubbo扩展点加载机制 - ExtensionLoader

来源:  Dubbo的扩展点加载从JDK标准的SPI(Service Provider Interface)扩展点发现机制加强而来. Dubbo改进了JDK标准的SPI的以下问题: JDK标准的SPI会一次性实例化扩展点所有实现,如果有扩展实现初始化很耗时,但如果没用上也加载,会很浪费资源. 如果扩展点加载失败,连扩展点的名称都拿不到了.比如:JDK标准的ScriptEngine,通过getName();获取脚本类型的名称,但如果RubyScriptEngine因为所依赖的jruby.jar不存

jvm-java ClassLoader怎么手动加载2个相互引用的类

问题描述 java ClassLoader怎么手动加载2个相互引用的类 public class A{ private B b; } public class B{ private A a; } 程序中只有这2各类的class文件的2进制数据(2个byte[]),怎么使用classloader加载这2个类呢. 因为涉及到了A类需要B类 B类需要A类,如果使用简单的defineClass会出ClassNotFoundException异常.