title: Java LineNumberTable: Entry explanation
body: <p>If I disassemble my class file, I get LineNumberTables of the form</p>
  
  <pre><code>  LineNumberTable:
      line 204: 0
      line 205: 9
      line 208: 57
      line 209: 63
      line 210: 72
      line 211: 75
      line 212: 78
      line 213: 87
      line 216: 90
      line 218: 118
      line 221: 126
      line 222: 131
      line 223: 138
      line 224: 143
      line 227: 150
      line 230: 157
      line 231: 160
      line 232: 170
      line 235: 194
      line 237: 228
      line 240: 249
      line 241: 259
      line 243: 266
      line 245: 269
      line 246: 292
      line 248: 295
      line 249: 301
      line 250: 308
      line 251: 315
      line 252: 322
      line 253: 329
  </code></pre>
  
  <p>I know that these tables contain debug information, and that the first entry is some kind of position in the class-file, while the second one is a position in the source code. I would like to know:</p>
  
  <ol>
  <li><p>Are the source code line numbers relative or absolute? If I interpret them absolutely, some point to the middle of multi-line comments which seems to be strange.</p></li>
  <li><p>Two different compilations of the same source code differ only in one byte: The entry "line 216: 90" is replaced by "line 215: 90". I try to find out what could be the cause for this. Any idea?</p></li>
  </ol>