支持java中的goto吗?

支持java中的goto吗?,java,obfuscation,goto,Java,Obfuscation,Goto,不支持java中的关键字goto。我曾经在某个地方读到过,java字节码支持它,有一个模糊器使用它来创建不可读的意大利面代码。但是,我再也找不到这个页面了,所以我在这里问这个问题:goto关键字是否以编译的形式工作 Java关键字列表指定goto关键字,但保留该关键字。意味着它没有被使用 如果你试图使用它,它会显示你的错误 这可能是为了防止它被添加到更高版本的Java中 如果goto不在列表中,并且它后来被添加到语言中,那么使用goto这个词作为标识符变量名、方法名等的现有代码就会中断。但是因为

不支持java中的关键字goto。我曾经在某个地方读到过,java字节码支持它,有一个模糊器使用它来创建不可读的意大利面代码。但是,我再也找不到这个页面了,所以我在这里问这个问题:goto关键字是否以编译的形式工作

Java关键字列表指定goto关键字,但保留该关键字。意味着它没有被使用

如果你试图使用它,它会显示你的错误

这可能是为了防止它被添加到更高版本的Java中

如果goto不在列表中,并且它后来被添加到语言中,那么使用goto这个词作为标识符变量名、方法名等的现有代码就会中断。但是因为goto是一个关键字,这样的代码在当前甚至不会编译,而且它仍然可以使它在以后实际执行某些操作,而不会破坏现有代码


查看此视频。。。他在设计java编译器时使用了goto

java关键字列表指定了goto关键字,但保留了该关键字。意味着它没有被使用

如果你试图使用它,它会显示你的错误

这可能是为了防止它被添加到更高版本的Java中

如果goto不在列表中,并且它后来被添加到语言中,那么使用goto这个词作为标识符变量名、方法名等的现有代码就会中断。但是因为goto是一个关键字,这样的代码在当前甚至不会编译,而且它仍然可以使它在以后实际执行某些操作,而不会破坏现有代码


查看此视频。。。他在设计java编译器时使用了goto是的,goto是JVM的一部分。 许多构造依赖于它,如if/else、while等

它相当于汇编语言中的调用

但你是对的,它在java源代码中不可用,只有字节码

其他基于jvm的语言可能会实现它

以下是关于它的Jasmin页面:
操作码是0xA7是的,goto是JVM的一部分。 许多构造依赖于它,如if/else、while等

它相当于汇编语言中的调用

但你是对的,它在java源代码中不可用,只有字节码

其他基于jvm的语言可能会实现它

以下是关于它的Jasmin页面:
操作码是0xA7

我知道这一点。但是,如果您可能有一个支持goto关键字的java编译器,jvm能够运行代码吗?jvm是否支持某种goto(即使编译器不支持),请检查我的突出显示sentence@user2097804:Java字节码包含goto,在我对这个问题的回答中可以找到一个例子:我还读到,创建Java的人忘记了他的名字在早期版本中有goto,但它被删除了。有没有可能它是从编译器中删除的,而不是从jvm中删除的?@user2097804 James GolsingI知道这一点。但是,如果您可能有一个支持goto关键字的java编译器,jvm能够运行代码吗?jvm是否支持某种goto(即使编译器不支持),请检查我的突出显示sentence@user2097804:Java字节码包含goto,在我对这个问题的回答中可以找到一个例子:我还读到,创建Java的人忘记了他的名字在早期版本中有goto,但它被删除了。是否可能是从编译器中删除的,而不是从jvm中删除的?@user2097804 James golsingno的可能重复项,解决方法是使用throw/catch。这可以让你跳下来。若要跳回,请将捕获放在一个循环中。您可以对标签使用break/continue,这非常类似于有限的goto。可能重复No,解决方法是使用throw/catch。这可以让你跳下来。若要跳回,请将捕获放在一个循环中。您可以对标签使用break/continue,这非常类似于有限的goto。