JVM INSTR monitorenter和JVM INSTR monitorexit

时间:2012-03-03 17:03:53

标签: java

我反编译了一个源文件,发现了一些JVM指令,如JVM INSTR monitorenter和JVM INSTR monitorexit。 这些是什么意思?

public boolean isRunning()
    {
        this;
        JVM INSTR monitorenter ;
        Thread thread = _thread;
        boolean flag;
        if(thread != null)
            flag = true;
        else
            flag = false;
        this;
        JVM INSTR monitorexit ;
        return flag;
        Exception exception;
        exception;
        throw exception;
    }

还有什么异常例外; ,例外;抛出异常;意思?

1 个答案:

答案 0 :(得分:5)

JVM规范中记录了

monitorentermonitorexit以及所有其他字节码指令。基本上它们用于实现synchronized块和方法。

听起来你的反编译器并不是非常好,如果它不能在这里找到合适的Java ......我们无法分辨Exception部分是什么时候它基本上是破坏了反编译器输出。它可能与以下内容相对应:

catch(Exception exception)
{
    throw exception;
}

...但基本上我会找到一个不同的反编译器。 (为什么你还需要一个反编译器?)