35

JVM バイトコード命令セットを学習するのに最適な場所はありますか。おそらく仕様といくつかのチュートリアル?

おもちゃの言語と JVM バイトコードを生成するコンパイラを設計したいのでお願いします。

あなたの知識とおそらくグーグルに感謝します。

4

9 に答える 9

23

Java バイトコード仕様の参考資料としては、The Java Virtual Machine Specificationがあります。

Chapter 4. The class File FormatChapter 6. The Java Virtual Machine Instruction Setを参照してください。

于 2008-12-11T00:41:50.260 に答える
11

もう少し「グラフィック」な説明、IBM 開発者の仕事:バイトコードを理解すると、より優れたプログラマーになります

于 2008-12-11T00:56:55.347 に答える
4

Java仮想マシンのプログラミング』では、JVM命令セットとそのコードの記述方法について説明しています。また、ダウンロードできなかったウーロン茶というバイトコードアセンブラも紹介しています。ただし、ウーロン茶の前身であるジャスミンは使用できます。基本的に、指示を含むテキストファイルを作成すると、Jasminは.classファイルを吐き出します。この本は1999年に発行されましたが、それでもVMの優れた穏やかな紹介です。

于 2009-01-01T16:26:39.883 に答える
4

javap逆アセンブラーや、 ASMBCELなどのバイトコード操作フレームワークも役立ちます。クラスを検証するだけでも役に立ちます。

于 2008-12-11T00:50:03.317 に答える
3

Java 仮想マシン仕様は、出発点として適しています。

Chapter 4 The class File Formatを参照してください。アップデートは、第 2 版が作成されてから追加された新しい属性をカバーしています。

于 2009-03-08T19:13:31.990 に答える
2

おそらく、Java クラス ファイルの解析方法に関する Preon の例を確認してください。これは、Java オブジェクト モデルでバイトコードをかなり完全に表現しています。

于 2009-09-26T07:38:49.610 に答える
2

まず、あなたの言語から Java コードを生成することをお勧めします。

これにより、読み取りとデバッグがはるかに簡単になります。

于 2009-03-08T19:06:32.273 に答える
1

これはもう少し専門的ですが JVM で実行するために生成されたバイトコードを最適化する方法に関するオンライン プレゼンテーションを次に示します。最近のJVM Languages Summitカンファレンスで発表されました。InfoQ には、そのカンファレンスでのプレゼンテーションのコレクションがあり、JVM で言語を取り上げたい (または既に行われたことを確認したい) 人にとって役立つかもしれません。

于 2008-12-11T14:44:23.193 に答える