Inhaltsverzeichnis:
Definition - Was bedeutet Java Virtual Machine (JVM)?
Die Java Virtual Machine (JVM) ist eine Abstraktionsschicht zwischen einer Java-Anwendung und der zugrunde liegenden Plattform. Wie der Name schon sagt, fungiert die JVM als „virtuelle“ Maschine oder Prozessor. Zu den Bytecodes, aus denen das Programm besteht, kommunizieren sie mit einer physischen Maschine; Sie interagieren jedoch tatsächlich mit der JVM.
Techopedia erklärt Java Virtual Machine (JVM)
Mit JVM kann die Java-Portabilität in plattform- und hardwareunabhängigen Anwendungen ausgeführt werden. Dies ist ein großer Teil der Philosophie "Einmal schreiben, überall ausführen (WORA)". Die JVM ist tatsächlich Teil der Java Runtime Environment (JRE). Es ist die JRE (JVM plus Basisklassen), mit der Java-Bytecode auf jeder Plattform ausgeführt werden kann. Bytecodes, die von der JVM interpretiert werden, rufen einfach Klassen in der JRE auf, wenn sie Aktionen ausführen müssen, die sie nicht selbst ausführen können. Einige Aktionen, wie die, die sich auf die zugrunde liegende Hardware oder das Betriebssystem beziehen, werden von der JVM ausgeführt. Bei Bytecodes fehlt die Funktionalität für sich und die JVM muss viele Aufgaben für sie ausführen. Diese wahrgenommene Einschränkung ist tatsächlich ein Vorteil. Erstens können Java-Programme im Vergleich zu anderen ausführbaren Programmen sehr klein sein. Zweitens, und was noch wichtiger ist, ermöglicht es ihnen, sehr portabel zu sein. Da jede JVM auf eine bestimmte Plattform zugeschnitten ist, kann ein Java-Programm nur ausgeführt werden, wenn: (1) eine entsprechende JVM für diese Plattform erstellt wurde, und; (2) Diese JVM wurde darauf installiert. Die Portabilität von Java-Programmen hängt daher vollständig vom Vorhandensein einer bestimmten JVM ab. Die Kommunikation zwischen einer Anwendung und jeder zugrunde liegenden Plattform kann sehr komplex sein, die JVM kann dies jedoch gut, indem sie eine Abstraktionsebene zwischen beiden bereitstellt. Daher müssen sich Entwickler nicht der Komplikationen bewusst sein, die mit jedem Anwendungs-Plattform-Paar verbunden sind.