問題タブ [javap]

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 投票する
1 に答える
409 参照

java - javapを使用してクラス、メソッドの詳細をjarファイルに出力するにはどうすればよいですか?

java.lang.String.replace メソッドを使用している jar 内のクラスを一覧表示したい。

<JAR>調べたいjarの名前はどこにありますか。

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

java - java javap と groovy バイトコードの比較

javapこれは、コンパイルされたクラスを表示するように彼に依頼したときに表示された、生成されたコードです(メソッドを選択しました)。

groovyConsole(同じ方法)で表示されたコードは次のとおりです

しかし、より多くのバイトコードはrawどれですか? 私が理解している限り、javapいくつかのスタイルを追加したので、2番目の例はより本物になるはずbytecodeです. 私は正しいですか?

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

java - バイトコードの読み取りに javap を使用する

インターネットで読んで、Javaがコンパイルすることを知りました

私は正しいですか?

今、私は自分でこれを理解しようとしました。だから私はTest.java呼び出してクラスをコンパイルします

その後javap、コンパイルされたコード(=バイトコード)を読み取るために使用できることを読みました。

そのため、前述のバイト コードでコンパイラからの再構築を確認しようとしました (宣言はコンストラクタ内にあります)。しかし、どのように?? javapそのための適切なツールはありますか?はいの場合、どのパラメーターを使用しますか?

ご協力いただきありがとうございます!

編集:

わかりました、これまでありがとう!の出力の読み方を教えてくださいjavap -c Test

0 投票する
0 に答える
745 参照

ant - ターゲット バージョンを 1.8 に設定しても、メジャー バージョン 52 のクラス ファイルが生成されます。

Java ソース コードをコンパイルして 1.8 をターゲットにしようとしています。javac ターゲットに以下を設定しました。

Ant バージョン: 2014 年 4 月 29 日にコンパイルされた Apache Ant(TM) バージョン 1.9.4
Java バージョン: 1.8

しかし、javap ツールを使用して生成されたクラス ファイルを確認すると、クラス ファイルがメジャー 52 (JDK 7) であることを示しています。

なぜそれが起こっているのか誰にも分かりますか?

よろしく、マユラン

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

java - Java クラスには、同じ関数シグネチャを持つが戻り値の型が異なる 2 つのメソッドがあります

私の知る限り、同じ呼び出しシグネチャを持つメソッドを持つことはできません。でも:

これらは、同じ呼び出しシグネチャを持つ複数のメソッドを明確に示しています。

  1. Java は関数呼び出しをどのように解決しますか?
  2. なぜ複数の機能があるのですか?

編集:関連するビットのみを保持することにより、質問を簡素化しました。

0 投票する
1 に答える
362 参照

java - javap 出力について

私は非常に単純なクラスを持っています:

javap -cこのクラスで実行すると、次のようになります。

なんで?2 番目のコンストラクターにも (FFF)V ではなく ()V というシグネチャがあるのはなぜですか? 私の人生では、それを理解することはできません!

0 投票する
1 に答える
502 参照

scala - Scala REPL に javap ツールが見つかりません

Windows 10 で Scala 2.11.6 (Java HotSpot(TM) 64-Bit Server VM、Java 1.7.0_79) を使用しています。

REPLで次のことを行いました

私の PATH 環境変数には C:\Program Files\Java\jdk1.7.0_79\bin があり、JAVA_HOME は C:\Program Files\Java\jdk1.7.0_79 に設定されています。

C:\Program Files\Java\jdk1.7.0_79\bin に javap.exe があります。

何か不足していますか?

ありがとう。

0 投票する
1 に答える
113 参照

java - Javassist を使用してバイトコードの引数を取得する

http://lpaste.net/338173の逆アセンブル コード (javap -c を使用) は次のようになります。 javassistを使用してクラスファイルからこれを取得しますか?

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

bytecode - 定数プールがクラスファイルで #3 を失った

「javap -verbose」を使用してクラス ファイルを解析し、定数プールが失われていることを確認しました #3。誰か理由を教えてください。

ここに画像の説明を入力