不支持java中的关键字“goto”。我曾经读过某个地方,它在java字节码中支持 ,并且有一个混淆器使用它来创建不可读的意大利面条代码。但是,我再也找不到这个页面,所以我在这里问这个问题:goto关键字是否以编译形式工作?
答案 0 :(得分:3)
Java关键字列表指定goto关键字,但保留保留。意味着它没有被使用。
如果您尝试使用它会显示错误
这可能是为了将它添加到更高版本的Java中。
如果goto不在列表中,并且稍后将其添加到语言中,则使用单词goto作为标识符(变量名,方法名等)的现有代码将会中断。但是因为goto是一个关键字,这样的代码甚至不能在当前编译,并且它仍然可以在以后实际执行某些操作,而不会破坏现有代码。
查看此视频.. James gosling tell about goto ...他在设计java编译器时使用了goto
答案 1 :(得分:2)
是的,“goto”是JVM的一部分。 许多构造都依赖它(比如if / else,while等)。
它相当于汇编语言中的“调用”。
但是你是对的,它在java源代码中不可用,只能在字节码中使用。
其他基于jvm的语言可能会实现它。
以下是关于它的Jasmin页面: https://www.vmth.ucdavis.edu/incoming/Jasmin/ref-_goto.html (操作码是0xA7)