我正在尝试操作静态方法。为此,Byte Buddy或可以使用任何其他框架。
有一个名为 Pi4J 的库用于控制Raspberry Pi的GPIO。这个库有一个方法叫做:
GpioController gpio = GpioFactory.getInstance();
这个调用在程序的几个地方被调用,我可能无法控制,因此我需要修改调用。
我想做的是,当以某种方式执行GpioFactory.getInstance
时,检测并修改GpioController
的方法,以便它们记录它们已被调用。
也许唯一的解决方案是使用 AspectJ,但是您知道 Byte Buddy 是否可以作为解决方案吗?
最佳答案
Pi4J 的代码在 LGPL 许可下在 github 上开源。您可以简单地克隆存储库,根据您的需要进行修改并使用自己的版本。如果您觉得您的更改也可以帮助其他人,请考虑为 pi4j 做出贡献。
关于java - 改变 Java 中静态方法的行为 - 字节码操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34479909/