字节码操纵模式

ahe*_*ahe 7 java bytecode bytecode-manipulation

字节码操作的合法用途是什么以及人们如何在实践中实现基于字节码操作的解决方案?

更新:我应该更清楚地说明这个问题实际上是关于人们使用什么模式和技术来使代码在字节码操作的帮助下飞行.

像已经提到的面向方面编程或动态构建代理对象和类似技术的东西.

Mar*_*tos 8

字节码操作允许您实现任意复杂(和有趣)的程序转换,例如:

  • 所选功能的进入/退出记录代码
  • 安全转换,可以访问某些API
  • API替换,例如,在测试工具中运行代码.

范围无穷无尽; 这只是一个小样本.

至于如何做到这一点,从这里开始.