Eclipse EcLemma涵盖的指令数量多于代码行

Aka*_*wal 3 java eclipse eclemma

在覆盖率结果中,它表明我已经覆盖了9条指令,而只有5行以绿色突出显示。其他4条指令中有哪些?

在此处输入图片说明

Jef*_*rey 5

单击“覆盖率”框右上方的下拉箭头。它会为您提供几种不同的衡量覆盖率的方法。默认值似乎是指令(字节码指令),但是您可以手动选择行。

2

您看到9条指令的原因是因为:中有9个字节码指令Foo

$ javap -c Foo.class 
Compiled from "Foo.java"
public class Foo {
  public Foo();
    Code:
       0: aload_0
       1: invokespecial #8                  // Method java/lang/Object."<init>":()V
       4: return

  public static void main(java.lang.String[]);
    Code:
       0: getstatic     #16                 // Field java/lang/System.out:Ljava/io/PrintStream;
       3: ldc           #22                 // String Test
       5: invokevirtual #24                 // Method java/io/PrintStream.println:(Ljava/lang/String;)V
       8: new           #1                  // class Foo
      11: invokespecial #30                 // Method "<init>":()V
      14: return
}
Run Code Online (Sandbox Code Playgroud)