問題タブ [bytecode]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
1125 参照

java - BCEL == javaのモンキーパッチですか?

先日、同僚がBCELを教えてくれました。これは、彼の説明と簡単な説明からわかるように、実行時にバイトコードを変更する方法です。私の最初の考えはそれが危険に聞こえるということでした、そして私の2番目の考えはそれがクールに聞こえるということでした。それから私はそれをもう少し考えて、モンキーパッチに関するコーディングホラーの投稿を思い出し、これが基本的に同じことであることに気づきました。誰かが実用的な何かのためにBCELを使用したことがありますか?これは基本的に実行時のモンキーパッチであるというのは正しいですか、それとも何かが足りないのでしょうか?

0 投票する
8 に答える
30464 参照

java - ネイティブ コードに対するバイトコードの利点は何ですか?

バイトコードでできることはすべて、ネイティブ コードでも同じように簡単かつはるかに高速に実行できるように思えます。理論的には、プログラムとライブラリをバイトコードで配布し、インストール時に JIT ではなくネイティブ コードにコンパイルすることで、プラットフォームと言語の独立性を維持することもできます。

一般的に、ネイティブの代わりにバイトコードを実行したいのはいつですか?

0 投票する
8 に答える
25152 参照

java - MSILとJavaバイトコードの違いは?

私は.Netを初めて使用し、最初に基本を理解しようとしています。MSILとJavaバイトコードの違いは何ですか?

0 投票する
2 に答える
920 参照

java - Javaがバイトコードを実行する方法についての良いリファレンスはありますか?

メインの開始から、変数の割り当て、関数の呼び出し、パラメーターの受け渡し、値の戻り、オブジェクトのインスタンス化などに至るまで、java がどのようにメモリを編成し、コードを実行するか (スタックまたはヒープに置かれるものなど) に興味があります。初心者向けの優れた記事/リファレンスを見つけた人はいますか?

0 投票する
4 に答える
6820 参照

python - 配布用の python 実行可能ファイルをビルドするための Eclipse アドオンはありますか?

マシンに Python がインストールされていない人に配布する実行可能ファイルを作成したいと考えています。

これを可能にするEclipseへのアドオンはありますか? 見つかりませんでした。

そうでない場合、Eclipse で作成された私の python プロジェクト ディレクトリに簡単に移動して、すべてをバンドルできる、お勧めのビルダーはありますか?

ありがとう、マーク

0 投票する
5 に答える
5458 参照

.net - どのような CLR/.NET バイトコード ツールが存在しますか?

私は、JVM バイトコード (ASM、cglib、jad など) を操作、生成、逆コンパイルするための Java ツールについてよく知っています。CLR バイトコード用の同様のツールはありますか? 人々は CLR のバイトコード操作を行いますか?

0 投票する
31 に答える
430309 参照

c# - C++ のパフォーマンスと Java/C# の比較

私の理解では、C/C++ は特定のマシン アーキテクチャで実行するネイティブ コードを生成します。逆に、Java や C# などの言語は、ネイティブ アーキテクチャを抽象化する仮想マシン上で実行されます。論理的には、Java や C# がこの中間ステップのために C++ の速度に匹敵することは不可能に思えますが、最新のコンパイラ (「ホット スポット」) はこの速度を達成できるか、それを超えることさえあると言われています。

おそらく、これは言語の問題というよりもコンパイラの問題ですが、これらの仮想マシン言語の 1 つが母国語よりも優れたパフォーマンスを発揮できる理由を平易な英語で説明できる人はいますか?

0 投票する
3 に答える
2080 参照

java - 任意の .class ファイルから BCEL JavaClass オブジェクトを作成する

私はBCELで遊んでいます。私はバイトコードを生成するためにそれを使用していませんが、代わりに既存のコンパイル済みクラスの構造を検査しようとしています。

ハード ドライブの任意の場所にある任意の .class ファイルをポイントし、それに基づいてJavaClassオブジェクトをロードできる必要があります。理想的には、指定されたクラスをクラスパスに追加する必要はありません。

0 投票する
6 に答える
4254 参照

java - プログラムによる .class ファイルの検査

私は、Java サービスと他のさまざまな言語で記述されたクライアントとの間で多くのリモート オブジェクト転送を行うプロジェクトに取り組んでいます。現在の制約を考慮して、既存の Java クラスに基づいてコードを生成するには何が必要かを確認することにしました。基本的に、.classファイル (またはそれらのコレクション) を取得してバイトコードを解析し、すべてのデータ メンバーとおそらくゲッター/セッターを特定し、別の言語でコードを出力して同じ構造のクラスを作成できるものを作成する必要があります。

JAD などの標準的な逆コンパイラを探しているわけではありません。.classファイルを取得して、そのデータ メンバーとメソッドのオブジェクト モデルを作成できる必要があります。これはまったく可能ですか?

0 投票する
18 に答える
48648 参照

assembly - CIL nop オペコードの目的は何ですか?

MSIL を調べていると、MSIL に多くのnop命令があることに気付きました。

MSDN の記事によると、オペコードにパッチが適用された場合、何もアクションを起こさず、スペースを埋めるために使用されます。これらは、リリース ビルドよりもデバッグ ビルドで多く使用されます。

これらの種類のステートメントがアセンブリ言語で使用され、後の命令を調整することは知っていますが、なぜ MSIL で MSIL nops が必要なのですか?

(編集者注:受け入れられた回答は、質問が最初に尋ねたMSIL / CIL NOPではなく、マシンコードNOPに関するものです。)