La spécification du langage de programmation Java a plusieurs implémentations différentes disponibles sur Linux, appelés "Machines virtuelles Java" ou "JVM." Le plus populaire est l'implémentation de référence de Sun. Autres JVM populaires sont Jikes, Apache Harmony, Kaffe, et l'IBM JVM- il ya beaucoup d'autres, aussi, chacun avec des caractéristiques légèrement différentes. Les systèmes Linux basés sur Debian comme Ubuntu peuvent installer plusieurs machines virtuelles Java simultanément, et de fournir un mécanisme pour le choix d'une JVM pour être utilisé sur le système appelé "update-java-alternatives."