リンカーの概念と混同しました
- Javaでリンカーを使用できますか?
- もしそうなら、アンドロイド開発でリンクはどのように行われますか?
リンカーの概念と混同しました
C/C++ とは異なり、リンク ステップは Java で @runtime を JVM 経由で (遅延または積極的に) 処理しました。したがって、Java リンカのようなものはありません。JVM が処理します。
Lollipop より前の Android では、JVM がリンクを担当していました。AOT が登場した後 (事前コンパイル)、それらは C/C++ の方法に近づき始めました。つまり、アプリを実行する前にコンパイルとリンクが行われます。
Java コンパイラが実行されると、プログラム内のクラスまたはインターフェイスごとに個別のバイトコード ファイル (*.class 拡張子付き) が生成されます。これらのファイルは、相互にシンボリック接続を確立し、Java API のクラス ファイルを作成します。
実行時に、Java 仮想マシンはプログラム ファイルをロードし、動的リンクと呼ばれるプロセスでそれらを結合します。