`
steeven
  • 浏览: 312199 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

关于java.lang.instrument的疑问,有必要吗?

阅读更多
从文档看,这是java1.5开始提供的合法AOP方式。
然而仔细看进去,拿到的类仅仅是byte[],想替换类还是依赖第三方工具,整个一半身不遂。java为啥每次都是整个接口,自己减肥了,把痛苦留给别人?

启动时需要加命令行参数,在虚拟主机网站上没用。

有没有人研究过,这个东西适用于什么场合?有多大的实用价值?
分享到:
评论
6 楼 baseline 2007-05-29  
这种java深层次的东东,在javaeye上没有市场哦.
5 楼 zhufanamo 2007-04-08  
http://www.ibm.com/developerworks/cn/java/j-lo-instrumentation/
http://www.ibm.com/developerworks/cn/java/j-cwt06075/

就是这两个文档。。ibm有关深入字节码的有一个系列的。很不错的。
4 楼 zhufanamo 2007-04-08  
我知道sa..
spring做为容器。提供aop的功能,其缺点就是用些功能就必需要从容器中创建对象.

所以java.自身就是解析型的。所以可以把jre也理解为一个容器,从spring中创建对象,就如同jre中去new一个对象.都可以达到同样的效果就是为类进行增强。

在spring2.0中,有个叫的spring-agent.jar,就是提供了这样的功用。

instrument的使用场景与aop差不多,但用起来更爽一些。效率与功能比aop更强一些。必意是直接改字节码,

具个例子哟,比如一个java对象。可以getclass取得自身的元信息,
又比如一个业务对象,如mo(哈哈,是不是很熟悉)可以getMetaDate取得自身的业务元信息,各mo的MetaDate不同,而且mo对象又不合适从spring容器中去创建对吧。instrument的强处就出现咯.

另外其返回的字节码不用担心的,用asm这个小工具。而且他还提供了eclipse的插件help you做了java source->字节码之间的印射了

具体可以看ibm中国上的文档,自己找找咯
3 楼 zhufanamo 2007-04-08  
我知道sa..
spring做为容器。提供aop的功能,其缺点就是用些功能就必需要从容器中创建对象.

所以java.自身就是解析型的。所以可以把jre也理解为一个容器,从spring中创建对象,就如同jre中去new一个对象.都可以达到同样的效果就是为类进行增强。

在spring2.0中,有个叫的spring-agent.jar,就是提供了这样的功用。

instrument的使用场景与aop差不多,但用起来更爽一些。效率与功能比aop更强一些。必意是直接改字节码,

具个例子哟,比如一个java对象。可以getclass取得自身的元信息,
又比如一个业务对象,如mo(哈哈,是不是很熟悉)可以getMetaDate取得自身的业务元信息,各mo的MetaDate不同,而且mo对象又不合适从spring容器中去创建对吧。instrument的强处就出现咯.

另外其返回的字节码不用担心的,用asm这个小工具。而且他还提供了eclipse的插件help you做了java source->字节码之间的印射了

具体可以看ibm中国上的文档,自己找找咯
2 楼 steeven 2006-11-15  
晕,绝望的顶一次
1 楼 steeven 2006-11-14  
真的没人研究过?

相关推荐

Global site tag (gtag.js) - Google Analytics