7

クライアント アプリケーションで使用するサード パーティの認証ライブラリを受け取りました。ドキュメントを受け取っていないので、ソースを掘り下げて、それがどのように機能するかを確認しようとしています. Go To -> IntelliJ のメソッドのDeclarationをクリックすると、私は非常に新しい Java に夢中になり、.classファイルに送られ、メソッド内に多数のスタブ化さ/* compiled code */れたメソッドが表示されます。

これはJavaでは一般的だと確信しています。正確に何が起こっているのかを知るために何を検索すればよいかわかりません。どんな明確化も素晴らしいでしょう。

4

3 に答える 3

5

これは通常、ソース コードがないことを意味し、IntelliJ IDEA は、/* compiled code */ないソース コードのプレースホルダーとして表示されます。これは現在変更されていると思います。IntelliJ には完全な Java デコンパイラ プラグインがバンドルされており、逆コンパイルされたソース コードが標準で表示されます。

何が起こっているのかをよりよく理解するには、サードパーティ ライブラリの実際のソース コードを入手するのが最善です。

ソース コードを読んでライブラリの使用方法を推測することは、通常、最善の学習方法ではないため、もちろんドキュメントも取得する必要があります。

2 番目に最適なオプションは、IntelliJ で逆コンパイラ プラグインを使用することです。これにより、Java クラス ファイルが自動的に逆コンパイルされます (サード パーティ ライブラリのライセンスにより、これが許可されない場合があることに注意してください)。これが 100% の解決策になることはありませんが、ほとんどの場合、何もしないよりはましです。

于 2013-08-26T13:33:03.277 に答える
1

あなたは本当にドキュメントを検索/尋ねる必要があります。メソッドがその名前から推測できないことを行う場合、Javadoc は通常非常に貴重です。それ以外の場合は、 JD-GUIなどの逆コンパイラを使用してください。

.java ソースコードは、javac などのコンパイラによって.class バイトコードにコンパイルされます。コンパイラは特定のものを最適化し、同じソースを生成する可能性が非常に低い場合はコンパイルと逆コンパイルのプロセスを最適化することがあります。また、すべてのコメントを削除する必要があります。コードがデバッグ モードでコンパイルされていない場合は、変数名も失われます。したがって、逆コンパイルは、手作りのドキュメントに代わる良い方法ではありません。

于 2013-08-26T13:33:18.370 に答える