Java algtõed
lahti sellega seotud kõikidest probleemidest, ehkki kaotades sellega mõned võimalused.
3
Virtuaalne Java-masin, baitkood, JIT-kompileerimine
Paljud rakendused töötavad ainult mõne ühe operatsioonisüsteemi juhtimisel. Kui programmi tööd juhib
operatsioonisüsteem, siis programmeerija ei pea arvestama konkreetse väljund- ja sisendseadmega selle
eest vastutab OS. See annab nii programmeerijale kui ka kasutajale vabaduse mitte mõelda selle üle,
kuidas teostada andmevahetust välisseadmetega aparaattasemel. Näiteks, faili lugemisel on
programmeerija vaatevinklist ükskõik, kas need andmed tulevad kõvaketta, CD või DVD pealt. Kuid
tavaliste rakenduste puhul programmi töötavus on piiratud ühe operatsioonisüsteemiga. Näiteks Windows-
rakendus ei hakka tööle LINUX süsteemis ja vastupidi.