So here is the example:
LocalVariableTable:
Start Length Slot Name Signature
0 133 0 this Lcom/my/class/Test;
2 131 1 a I
4 129 2 b I
7 126 3 i I
10 123 4 i2 I
16 117 5 o1 Ljava/lang/Integer;
31 102 6 o2 Ljava/lang/Integer;
What does start and length mean? Why does length have the value it has? Why length is different for the equal types (Integer)? Why length could be changed, when I add something to class and recompile it without touching that particular local variable?