問題タブ [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 に答える
79 参照

scala - コンパイルされた Scala ファイルの型を理解する

与えられた:

経由でコンパイルした後、出力ファイルsbt compilejavapしました。class

なぜa型があるのintですか?

Int with Fooinのタイプを指定していましたobject X

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

java - Java で共変の戻り値の型を使用する場合の javap の Object.clone()

Java の共変の戻り値の型について読んでいます。次のコードを書きました。

親クラス:

子クラス:

使い方:

メソッドをオーバーライドするときにサブタイプを返しても問題ない場合 (ご覧のとおり、clone()inSuperおよびで行っていることです)、 およびを実行すると、それぞれinおよびがSub表示されるのはなぜですか?Object.cloneSuperSubjavap -p Super.classjavap -p Sub.class

の結果javap -p Super.class:

の結果javap -p Sub.class:

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

java - javap が逆コンパイルされたクラスのアノテーション情報を表示しない

以下のような単純なJavaクラスを持つjarがあります

クラスを javap で逆コンパイルした後、注釈情報が表示されません。

@VisibleForTestingタイプのアノテーションであるにもかかわらず、逆コンパイルされたクラスでアノテーション情報が欠落している理由を誰かに教えてもらえますかRetentionPolicy.CLASS?

Guava バージョン -23.5-jre

私はすでにこの質問を見ましたが、受け入れられた回答はここでは有効ではないようです。Javaドキュメントによると

RetentionPolicy.class - 注釈はコンパイラによってクラス ファイルに記録されますが、実行時に VM によって保持される必要はありません。

したがって、javap はアノテーション情報も表示できるはずRetentionPolicy.CLASSです。

編集

の出力javap -v

編集2

javapRUNTIME 保持ポリシーを使用している場合、まだ注釈が表示されません(例: Subscribe )

の出力javap

の出力javap -c

の出力javap -v