kapan instalasi jvm yang sebenarnya terjadi? [duplikat]
misalkan saya memiliki os baru seperti windows 10. Saya menginstal dan menjalankan perangkat lunak seperti intellij (ditulis oleh java) Saya tidak menginstal jvm atau jre, bagaimana saya bisa menjalankan?
Jawaban
dapatkah saya menjalankan perangkat lunak java tanpa jvm?
Sebuah "mesin" hanya dapat menjalankan "kode mesin" (biner asli). Kode mesin harus kompatibel dengan arsitektur mesin yang Anda jalankan.
Jvm adalah program yang mengemulasi mesin secara virtual. Anda dapat menganggap java bytecode
sebagai jenis kode mesin khusus yang berjalan di mesin virtual java . Dengan kata lain, .class
file berisi instruksi mesin yang dapat berjalan di jvm.
Jadi bagaimana beberapa perangkat lunak (Seperti IntelliJ) yang telah ditulis di java berjalan di arsitektur mesin lain? Itu karena dalam kasus tersebut, mereka tidak dikompilasi ke bytecode yang berjalan di jvm, melainkan dikompilasi langsung ke instruksi mesin dari platform target.
.java
Kode yang sama dapat dikompilasi untuk:
bytecode
untuk dijalankanjvm
windows native binary untuk dijalankan di lingkungan windows
apk
untuk dijalankanAndroid
Dan seterusnya