Bahasa pemrograman Java® menggunakan perangkat lunak manajemen khusus yang disebut mesin virtual Java® (JVM). JVM ini diperlukan agar program perangkat lunak Java® dapat bekerja dengan baik di komputer. JVM menafsirkan permintaan dari program perangkat lunak dan mengubahnya menjadi bahasa mesin yang dipahami oleh perangkat keras komputer. JVM adalah perangkat keras-platform agnostik, sehingga cocok untuk berbagai jenis sistem operasi komputer.
Sebagian besar bahasa pemrograman saat ini khusus untuk platform perangkat keras. Program-program ini dikenal sebagai proprietary karena mereka hanya dapat berjalan pada sistem operasi tertentu. Mesin virtual Java® adalah elemen khusus yang membuat platform program Java® menjadi independen. JVM ini adalah proses penghubung otomatis yang mengelola komunikasi antara perangkat keras komputer dan kode pemrograman Java®.
Ketika seorang pengguna komputer menyalakan komputernya, ia berinteraksi dengan perangkat keras komputer dan sistem operasi perangkat lunak (OS). OS komputer adalah perangkat utama yang menangkap tindakan dari mouse dan keyboard komputer. Peristiwa ini ditransmisikan dari sistem operasi ke program dengan menggunakan kode OS khusus. Mesin virtual Java® adalah proses Java® yang menangkap kejadian OS dan mengubahnya menjadi pesan Java® yang dapat dimengerti.
Menggunakan mesin virtual Java® memiliki beberapa keuntungan. Nuansa teknis masing-masing sistem operasi disembunyikan dari pengembang. Hal ini memungkinkan lebih banyak fleksibilitas untuk program karena dapat bekerja dengan beberapa platform perangkat keras komputer. JVM juga memungkinkan fleksibilitas menggunakan lebih dari satu platform sistem operasi dalam organisasi.
Ada beberapa sistem operasi yang tersedia saat ini, termasuk Windows®, MAC®, UNIX® dan Linux®. Satu program perangkat lunak Java® dapat berjalan di beberapa versi sistem operasi. Ini karena program Java® menggunakan JVM untuk berinteraksi dengan sistem operasi. Jenis kode perangkat lunak lainnya biasanya memerlukan basis kode kompilasi terpisah untuk setiap sistem operasi.
Microsoft®.NET adalah contoh bahasa perangkat lunak yang memerlukan kompilasi khusus untuk setiap sistem operasi. Untuk menyebarkan perangkat lunak jenis ini ke lingkungan UNIX®, kode perlu dikompilasi ulang. Ini akan membutuhkan pengelolaan beberapa basis kode untuk setiap sistem operasi yang digunakan.
Saat ini teknologi mesin virtual Java® telah diterapkan ke jutaan komputer dan perangkat di seluruh dunia. JVM ini tersedia secara bebas dari Internet dengan lingkungan perangkat lunak pengembangan Java®. Proses ini diinstal secara otomatis ketika kode perangkat lunak Java® diinstal ke komputer.
Multitasking adalah proses yang memungkinkan beberapa program berjalan secara paralel pada satu komputer. Mesin virtual Java® mendukung kemampuan multitasking. Teknik ini memungkinkan JVM untuk mendukung beberapa aplikasi simultan. Memiliki kemampuan multiprosesor menghemat sumber daya pemrosesan komputer yang berharga, yang membuat aplikasi berjalan lebih cepat.