Ada beberapa alat di luar sana ( Excelsior JET , dll.) Yang mengklaim untuk mengubah aplikasi Java menjadi executable asli ( *.exe
). Namun itu adalah saya pemahaman bahwa alat ini benar-benar hanya menciptakan pembungkus asli yang memanggil / menjalankan java
dari shell atau command-line.
Jika pemahaman itu salah, saya tidak mengerti bagaimana itu bisa terjadi. Jika menjalankan JVM ( java
proses) pada dasarnya adalah juru bahasa kinerja tinggi, memuat bytecode dari Java classfile dengan cepat, maka saya tidak melihat bagaimana aplikasi Java (kumpulan file bytecode yang berfungsi sebagai input ke JVM) bisa menjadi benar-benar diubah menjadi executable.
Ini karena proses JVM sudah merupakan executable asli yang mengambil set file bytecode sebagai input. Untuk menggabungkan file-file bytecode dan proses JVM menjadi satu, executable asli unified tampaknya tidak mungkin tanpa sepenuhnya menulis ulang JVM dan menghapus pagar dari spesifikasi JVM.
Jadi saya bertanya: bagaimana alat-alat ini benar - benar "mengubah" file kelas Java menjadi executable asli, atau apakah mereka?