JVM

Das ist der Eintrag dazu aus unserem IT-Kommunikationslexikon:


Java Virtual Machine

Die Java Virtual Machine Specification definiert die JVM als eine imaginäre Maschine, die durch Softwareemulation auf einer realen Maschine oder direkt durch Hardware implementiert werden kann. Sie definiert damit eine virtuelle Hardwarespezifikation, für die jeglicher Java-Programmcode compiliert wird. Weil diese Hardwarespezifikation imaginär ist, sind Java-Programme von den realen Hardwareplattformen unabhängig.

Konkret definiert die JVM-Spezifikation:
  • den Befehlssatz (in Analogie zum Befehlssatz einer CPU),
  • den Registersatz,
  • den Stack,
  • einen Heap mit Garbage-Collection,
  • die Speicherverwaltung und
  • das Format der Class-Dateien.

In der Praxis ist eine JVM daher in der Regel ein in einem WWW-Browser integrierter Interpreter zur überwachten Ausführung von Java-Bytecode auf der jeweiligen Hardwareplattform.

Java-Quelltexte müssen vorher mit Hilfe eines Compilers in den maschinenunabhängigen Bytecode übersetzt worden sein. Dieser kann entweder mit einem Interpreter von der Kommandozeile aus (Java-Anwendung) oder aus einer HTML-Seite gestartet werden (Applet).

Das Codeformat der JVM ist ein sehr kompakter Bytecode. Da die Befehlslänge auf ein Byte beschränkt ist, kann es maximal 256 verschiedene Befehle geben. Programme, die durch Bytecode dargestellt werden, unterliegen einer sehr strengen Typüberprüfung. Der Großteil der Typüberprüfungen wird bereits zur Compilezeit durch einen Bytecodeüberprüfer durchgeführt. Ein Java-Interpreter muss in der Lage sein, jedes Programm auszuführen, dessen Class-Dateien der Java Virtual Machine Specification entsprechen.

Aktuelle Beiträge

Gastkonten im Azure AD verwalten

Gastkonten im Azure AD ließen sich bisher nur recht grob und entweder manuell oder mit Skript­arbeit verwalten. Mit "Cross-tenant access settings" stehen dem Admin nun granularere Möglichkeiten zur Verfügung – über die Graph-API auch automatisiert. Wer das Aufräumen der Gastkonten zudem mithilfe von Access Reviews an die Anwender selbst delegiert, kann weitere wertvolle Zeit sparen.

Zero Trust über Workloads hinweg

Ein Zero-Trust-Ansatz ist am effektivsten, wenn er sich über alle Standorte und Umgebungen erstreckt, in denen Workloads auf verschiedene Anwendungen und Daten zurückgreifen. Aus diesem Grund unterstützt eine zeitgemäße Firewall-Plattform eine Zero-Trust-Architektur erheblich, indem sie die Netzwerksicherheit so nah wie möglich an die Workloads heranbringt. Wie dies gelingt und worauf es ankommt, erklärt Palo Alto Networks.

Maßnahmen gegen Tool-Sprawl und Schatten-IT

In vielen IT-Abteilungen wächst mit jeder neuen Aufgabe auch die Zahl der Tools – bis irgendwann der Überblick verloren geht. Was zunächst als Hilfe gedacht war, wird dann zum Hindernis. Doppelte Arbeit, Sicherheitsrisiken und Missverständnisse sind die Folge. Der Artikel veranschaulicht, wie dieser Toolwildwuchs entsteht, warum er Teams ausbremst und wie ein gemeinsamer, vereinfachter Ansatz die Kontrolle zurückbringt.