What does the jsr keyword mean?

前端 未结 6 1288
栀梦
栀梦 2021-01-18 20:21

I\'m looking at some Java code, and I\'ve noticed the following:

if (!foo(bar, baz, qux)) {
    i = 0; jsr 433;
}

javac chokes on it, sayin

6条回答
  •  悲&欢浪女
    2021-01-18 21:05

    You are most likely looking at the results of decompiling some code which the decompiler wasn't able to cope with. JSR is the mnemonic for the jump subroutine bytecode; see this page for a listing. So jsr 432 may mean call a private method at bytecode address 432. However, the decompiler cannot figure that out, so maybe the method is synthetic, or something else is going on.

    EDIT

    Googled example you found is definitely decompiler output, and it looks like the part with the JSRs is either cause by obfuscation, byte code modification / generation, or by a decompiler stuffup.

提交回复
热议问题