字节码操作有哪些合法用途,人们如何在实践中实现这些基于字节码操作的解决方案?
更新:我应该更清楚地说明这个问题实际上是关于人们使用什么模式和技术来使他们的代码在字节码操作的帮助下运行。
类似于已经提到的面向方面的编程或动态构建代理对象和类似技术。
最佳答案
字节码操作让您可以实现任意复杂(和有趣)的程序转换,例如:
- 所选函数的进入/退出记录代码
- 阻止对某些 API 的访问的安全转换
- API 替换,例如,在测试工具中运行代码。
范围是无止境的;这只是一个小样本。
至于这通常是如何完成的,开始 here .
关于java - 字节码操作模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2697657/