该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2012-05-29
看到这边文章,我不得不登录,不得不再次进入iteye(尽管首页变得很垃圾 自从改版后几乎很少来),接着我就不得不发表言论~!楼主辛苦了,讲的很精细!
|
|
返回顶楼 | |
发表时间:2012-05-30
楼主辛苦了!讲的相当详细,学习受用了!
|
|
返回顶楼 | |
发表时间:2012-05-31
最后修改:2012-05-31
目前动态加载生成class已很普遍,例如jdk的proxy以及cglib动态修改字节,不过,这样就造成了一个问题,最终生成的class的到底是什么样呢?其中针对jdk的动态生成,可以利用ProxyGenerator.generateProxyClass,获取一个式样的例子;针对cglib需要设置DebuggingClassWriter.DEBUG_LOCATION_PROPERTY属性,据说可以把内存里的类生成到文件里去。不知道有没有什么方法,可以获取文件或内存,普通或泛型的类的字节输出到指定目录下,然后可利用反编译工具查阅源码。
目前尝试的解决方案,主要是利用ClassLoader, Java代码 Test.class.getResourceAsStream("Test.class") 利用普通对象自身的类加载器可以获取到源码,但是动态的位于内存里的类就无法获取到。 不知道有没有其他的方法,多谢! 可关注问题http://www.iteye.com/problems/84235 |
|
返回顶楼 | |
发表时间:2012-06-01
对spring初学者非常有帮助
|
|
返回顶楼 | |
发表时间:2012-06-02
不能理解cglibproxy那一段中把MethodProxy称之为代理类实例,如果只是代理类实例,他怎么知道是哪个方法呢,而且看类名的直译是方法代理
public class MethodProxy extends java.lang.Object Classes generated by Enhancer pass this object to the registered MethodInterceptor objects when an intercepted method is invoked. 看这段doc的意思应该是当有方法被截获时,cglib产生的代理类把这个方法代理传递给了注册过的MethodInterceptor实例,看例子好像是callback中set的那个对象。 |
|
返回顶楼 | |
发表时间:2012-06-21
敢于在JE分享书籍内容的作者都是真的猛士
|
|
返回顶楼 | |
发表时间:2012-08-22
之前对代理总是模模糊糊的,通过aop的实例,现在终于有了一个深刻的认识
|
|
返回顶楼 | |
发表时间:2012-10-09
也是属于只看不回复那一类人,但看这篇文章,不得不回复了,条理清晰,浅显易懂,不得不支持下!
|
|
返回顶楼 | |
发表时间:2012-10-10
xchao 写道 也是属于只看不回复那一类人,但看这篇文章,不得不回复了,条理清晰,浅显易懂,不得不支持下!
潜久了 浮出来呼吸一下鲜新空气有利于健康 |
|
返回顶楼 | |
发表时间:2012-12-14
讲的真的很详细,只要有耐心就能看懂,十分感谢,我会一直支持楼主的
|
|
返回顶楼 | |