社区
Java SE
帖子详情
一个类新加载覆盖原始加载的类的问题
tombow
2010-04-02 06:33:52
我用ASM修改了类,生成了类byte[],最后通过ClassLoader defineClass方法生成了类,请问我怎样将新生成的类,代替Web已经加载的类呢??
...全文
181
15
打赏
收藏
一个类新加载覆盖原始加载的类的问题
我用ASM修改了类,生成了类byte[],最后通过ClassLoader defineClass方法生成了类,请问我怎样将新生成的类,代替Web已经加载的类呢??
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tombow
2010-04-08
打赏
举报
回复
看来,这问题是解决不了的了,改问一个别的问题!
JSP里怎样判断客户端与服务器端是否已断开连接..ASP里有个IsClient....属性..
ChDw
2010-04-07
打赏
举报
回复
如果你需要动态加载和覆盖,你应该不断new新的ClassLoader出来,必须用这个新的ClassLoader来定义你的类。这样就可以每次替换了
你原始代码看到的是接口或者基类,
tombow
2010-04-07
打赏
举报
回复
替换了,还是不行.
p2p81
2010-04-07
打赏
举报
回复
你需要知道该类原来是用哪个加载器加载的,如果你修改后的类可以用该类原来的加载器加载的话,你就能把原来的类给替换掉,否则是替换不了的。
tombow
2010-04-07
打赏
举报
回复
Spring使用asm是怎样做的?
taolei
2010-04-06
打赏
举报
回复
怎样替换要你自己在Tomcat想办法。
javaagent是java的启动参数。详细用法见API文档里关于Package java.lang.instrument
tombow
2010-04-06
打赏
举报
回复
[Quote=引用 8 楼 taolei 的回复:]
如果要动态替换的话。
1、替换原来的类加载器
2、用javaagent
[/Quote]
怎样替换原来的加载器?
javaagent咋样用?
Brodie
2010-04-03
打赏
举报
回复
你不可能用一个新加载的类代覆盖旧类
tombow
2010-04-03
打赏
举报
回复
web 加载器 ClassLoader 的defineClass方法是受保护的,怎样将byte[] 转成 class呢??
taolei
2010-04-03
打赏
举报
回复
如果要动态替换的话。
1、替换原来的类加载器
2、用javaagent
taolei
2010-04-03
打赏
举报
回复
把byte[]写成.class文件,替换原来的类文件。
sharke118
2010-04-03
打赏
举报
回复
把这个类都用你自定义的同一个classloader 加载 就可以了吧
tombow
2010-04-03
打赏
举报
回复
不是我想要的.我的意思是:例如Tomcat的加载器加载了A.class,而我修改了A.class,产生了个新的class了,请问我该怎样将新的class覆盖原来的呢??新的A.class我是用不同的classLoader产生的.如果用同一加载器产生的可以覆盖的话,请问我有byte[]的类字节数组,怎样用A.class原来的加载器生成class呢?
Brodie
2010-04-02
打赏
举报
回复
首先用不同加载器加载的类是不同的,你不可能用一个新加载的类代覆盖旧类。
对于这个问题可能的解决方法是手动加载你的新类,
比如:
Object instance = new YourClassLoader().defineClass(bytes).newInstance();
Method m = instance.getclass().getmethod("method").
m.invoke(m, params);
只能通过全部的反射来做,应该是你想要的吧。否则会报CAST错的。
linfanhe
2010-04-02
打赏
举报
回复
不知道啊
自定义ViewPager实现循环滑动翻页
为了解决这个
问题
,开发者常常需要自定义
一个
ViewPager来实现循环滑动效果,特别是在制作广告轮播页时,这种功能是必不可少的。 首先,我们需要理解ViewPager的工作原理。ViewPager内部维护了
一个
PagerAdapter,它...
类
加载
器 超详解:什么是
类
加载
器,
类
加载
器作用及应用场景,
类
加载
时机,
类
加载
的完整过程,
类
加载
器分
类
类
加载
器 超详解:什么是
类
加载
器,
类
加载
器作用及应用场景,
类
加载
时机,
类
加载
的完整过程,
类
加载
器分
类
Java
类
加载
器(二)——自定义
类
加载
器
自定义路径下查找自定义的class
类
文件,也许我们需要的class文件并不总是在已经设置好的Classpath下面,那么我们必须向办法来找到这个
类
,在这种清理下我们需要自己实现
一个
ClassLoader。 确保安全性:Java自己吗很...
JVM之
类
加载
器
一个
Tomcat程序中是可以运行多个Web应用的,如果这两个应用中出现了相同限定名的
类
,比如Servlet
类
,Tomcat要保证这两个
类
都能
加载
并且它们应该是不同的
类
。如果不打破双亲委派机制,当应用
类
加载
器
加载
Web应用1中的...
JVM系列--
类
加载
器,双亲委派机制,打破双亲委派机制
一个
Tomcat程序中是可以运行多个Web应用的,如果这两个应用中出现了相同限定名的
类
,比如Servlet
类
,Tomcat要保证这两个
类
都能
加载
并且它们应该是不同的
类
。如果不打破双亲委派机制,当应用
类
加载
器
加载
Web应用1中的...
Java SE
62,634
社区成员
307,269
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章