Java Virtual Machine (JVM) är en miljö som kör Java-program. Java-program kompileras till ett mellanspråk som kallas bytecode, vilket är vad JVM kör. Alla program som kompileras till bytecode kan köras på vilken plattform som helst som har en JVM installerad på den. Detta gör Java-programvaran kompatibel med många olika datorplattformar. JVM har några anmärkningsvärda fördelar och nackdelar som alla utvecklare bör överväga noggrant innan de investerar i Java-utveckling.
Plattformsoberoende
Java-bytekod kan skrivas en gång och sedan köras på flera plattformar. Java-bytekod behöver inte porteras till en specifik hårdvarumiljö eftersom den körs i Java Virtual Machine. Alla program som kompileras till Java bytecode kan köras på vilken datorplattform som helst som har en Java Virtual Machine.
Dagens video
säkerhet
Java skrevs med säkerhet i åtanke. Java Virtual Machine har inbyggda säkerhetsfunktioner som gör att programmerare kan skriva mycket säkra Java-program. Det förhindrar också att skadlig programvara äventyrar operativsystemet (OS) eftersom det hindrar Java-program från att interagera med operativsystemets resurser.
Prestanda
Java-program som körs på en Java Virtual Machine tenderar att prestera långsammare än motsvarande program skrivna i C++. Bytekodens systemneutralitet fungerar som en nackdel när det gäller prestanda. Detta beror på att kodoptimering är mycket beroende av systemspecifika funktioner. Eftersom Java bytecode är systemneutral kan den inte optimeras för en specifik hårdvaruuppsättning.
Rätthet
Ett program som presterar som förväntat sägs vara korrekt. Eftersom ett Java-program förlitar sig på Java Virtual Machine för att köra det, måste JVM vara felfritt för att programmet ska fungera korrekt. Detta beroende av Java Virtual Machine introducerar en möjlig felpunkt för programmet. Lyckligtvis produceras Java Virtual Machine-programvaran med mycket höga standarder, och därför är det inte troligt att den levereras med några fel. Oavsett vilket är ett fel i Java Virtual Machine en möjlighet som bör övervägas.