论坛首页 Java企业应用论坛

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

浏览 5038 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-11-13  
从文档看,这是java1.5开始提供的合法AOP方式。
然而仔细看进去,拿到的类仅仅是byte[],想替换类还是依赖第三方工具,整个一半身不遂。java为啥每次都是整个接口,自己减肥了,把痛苦留给别人?

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

有没有人研究过,这个东西适用于什么场合?有多大的实用价值?
   发表时间: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中国上的文档,自己找找咯
0 请登录后投票
   发表时间: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中国上的文档,自己找找咯
0 请登录后投票
   发表时间:2007-04-08  
http://www.ibm.com/developerworks/cn/java/j-lo-instrumentation/
http://www.ibm.com/developerworks/cn/java/j-cwt06075/

就是这两个文档。。ibm有关深入字节码的有一个系列的。很不错的。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics