Is there a bijective mapping between the local variables in the source code of a Java method and the byte code?
There isn't in general because addresses used by variables out of scope are reused for other in-scope variables. For example:
for (int j = 0;;) {}
int k = 0;
k
can reuse the same location as j
.