Как измерить количество инструкций байт-кода в файле класса? - PullRequest
3 голосов
/ 20 августа 2011

Я вычислил среднюю цикломатическую сложность для каждого из моих файлов классов. Мне было интересно, как я мог измерить количество инструкций байт-кода в каждом из моих файлов классов, используя Eclipse, возможно?

Ответы [ 2 ]

3 голосов
/ 20 августа 2011

Используйте javap, как упомянуто Mat, или Commons BCEL для программного доступа к байт-коду.

3 голосов
/ 20 августа 2011

Я не знаю, можете ли вы сделать это легко из Eclipse, но вы можете использовать javap -c, чтобы получить разборку ваших файлов классов.Не должно быть слишком сложно обернуть это в скрипте, если вам нужно только количество инструкций для метода.

Пример:

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

public static void main(java.lang.String[]);
  Code:
   0:   getstatic   #2; //Field java/lang/System.out:Ljava/io/PrintStream;
   3:   ldc #3; //String Hello
   5:   invokevirtual   #4; //Method java/io/PrintStream.println:(Ljava/lang/String;)V
   8:   return

}
...