Hor*_*ux7 7 java eclipse ide reference synchronized
使用Eclipse,可以找到方法,成员或类的所有引用.是否也可以找到同步监视器的所有引用?
如果Eclipse无法实现这一点,那么可以使用另一个Java IDE吗?
我的问题是监视器对象有很多引用.搜索所有引用将返回许多结果.我只会看到与此对象同步的位置.
编辑:我添加一个样本我的意思:
public class LockClass{
  public synchronized void add(Object any){
  }
}
public class AnyOther{
  private LockClass lock;
  public AnyOther(LockClass lock){
    this.lock = lock;
  }
  public void doSomethings(){
    synchronized(lock){
      //...
    }
}
现在我希望所有使用LockClass作为监视器的同步搜索.这是一个静态分析.在我的样本中,我想找到:
让我们弄清楚一些术语:
代码中哪里引用了监视器?
Suraj 已经描述了如何做到这一点:Search > References > Workspace...。您还可以将这些引用过滤为仅读取访问、写入访问、实现者等。此类引用是通过静态代码分析找到的,因此无需运行应用程序。但是,这不会自动检测将对对象的引用分配给字段,然后将其分配给另一个变量的情况。这仅检测对该对象的特定引用的引用。
哪些变量指向监视器?
这将处理多个字段/局部变量引用该对象的情况。为此,应用程序必须正在运行。您需要将断点放置在监视器可见的适当位置(最简单的方法是使用相关监视器的同步块周围的某个位置)。变量视图将显示当前范围内可用的所有变量。您可以通过在“变量”视图中选择对对象的引用,打开上下文菜单并选择 来获取对对象的所有引用All References...。这将显示引用该对象的所有字段/局部变量。
| 归档时间: | 
 | 
| 查看次数: | 349 次 | 
| 最近记录: |