如何使用字节预算来拦截Java中的“同步”代码块?

时间:2019-03-21 19:46:46

标签: java byte-buddy

有一个同步的代码块,如下所示:

public class Counter {
  int count;  

  public void increment(){
    synchronized(this){
      this.count ++;   
    }   
  }
}

我知道如何使用字节预算来拦截 instrument 方法。 字节预算也可以拦截同步的代码块吗?

我的最终目标是在代码块的开头或结尾插入自己的代码。

1 个答案:

答案 0 :(得分:0)

字节伙伴中没有API可以更改方法中的代码;但是,通过使用由Buddy公开的ASM并使用AsmClassVisitorWrapper可以在其API中进行注册,可以实现所有这些操作。