Java-virtuaalikone

Java-virtuaalikone (JVM) on virtuaalikone, jonka avulla voidaan ajaa Java-ohjelmia sekä ohjelmia, jotka on kirjoitettu muilla ohjelmointikielillä ja on käännetty Java-tavukoodiksi. JVM-spesifikaatio (engl. JVM Specification) kuvaa JVM-toteutuksen formaaliset vaatimukset. Spesifikaatio varmistaa Java-ohjelmien yhteentoimivuuden eri toteutusmuodoissa, jotta Java-kehitystyökaluja (JDK) käyttävien ohjelmiston kehittäjien ei tarvitse huolehtia taustalla olevan laitteistoalustan erilaisuuksista.
JVM:n tukemat kielet
JVM-kieliä on useita. JRuby ja Jython ovat kenties tunnetuimpia JVM-käännöksiä Ruby ja Python -kielistä. Java-tavukoodiksi kääntyviä vakiintuneita kieliä ovat muun muassa Clojure, Apache Groovy, Scala ja Kotlin. JVM-kielten merkittävä piirre on, että ne ovat yhteensopivia toistensa kanssa, joten esimerkiksi Scala-kirjastoja voidaan käyttää Java-ohjelmien kanssa ja päinvastoin. [1]
Java Runtime Environment
Java Runtime Environment (JRE) on vapaasti saatavilla oleva ohjelmisto, joka sisältää itsenäisen virtuaalikoneen (HotSpot), standardikirjaston (Java Class Library), ja konfigurointiohjelman. Se on yleisin JVM-ajoympäristö.
Android-käyttöjärjestelmää käyttävät nykyaikaiset älypuhelimet, tablet-tietokoneet ja kannettavat tietokoneet jotka tukevat Java-sovelluksia, tekevät tämän todennäköisimmin asentamalla avoimen lähdekoodin virtuaalikoneen, joka ei ole yhteensopiva JVM-spesifikaation kanssa. Sen sijaan Googlen Android-kehitystyökalut kääntävät Java-ohjelmat Dalvik-tavukoodiksi, joka on Android-laitteiden virtuaalikoneen alkuperäinen muoto.
Lähteet
- ↑ Tim Lindholm, Frank Yellin: Clarifications and Amendments to the Java Virtual Machine Specification, Second Edition The JavaTM Virtual Machine Specification, Second Edition, https://docs.oracle.com/javase/specs/jvms/se6/html/VMSpecTOC.doc.html. Viitattu 18.11.2015.