Java のキーワード「goto」はサポートされていません。Javaバイトコードでサポートされていること、およびこれを使用して読み取り不能なスパゲッティコードを作成する難読化ツールがあったことをどこかで読んだことがあります。しかし、このページを再び見つけることができないので、ここで質問します: goto キーワードはコンパイルされた形式で機能しますか?
2 に答える
Java キーワード リストでは goto キーワードが指定されていますが、予約されています。使用されていないことを意味します。
使用しようとするとエラーが表示されます
これは、Java の新しいバージョンに追加される場合に備えて行われたものと思われます。
goto がリストになく、後で言語に追加された場合、goto という単語を識別子 (変数名、メソッド名など) として使用する既存のコードは機能しなくなります。しかし、goto はキーワードであるため、そのようなコードは現在コンパイルすることさえできず、既存のコードを壊すことなく、後で実際に何かを実行させることが可能です。
このビデオをチェックしてください..ジェームズ・ゴスリングはgotoについて話します...彼はJavaコンパイラを設計したときにgotoを使用しました
はい、「goto」はJVMの一部です。多くのコンストラクトはそれに依存しています(if / else、whileなど)。
これは、アセンブリ言語の「呼び出し」に相当します。
しかし、その通りです。Javaソースコードでは使用できず、バイトコードでのみ使用できます。
他のjvmベースの言語がそれを実装するかもしれません。
これについてのJasminページは次のとおりです: https : //www.vmth.ucdavis.edu/incoming/Jasmin/ref-_goto.html(オペコードは0xA7)