Ich habe Probleme, diese ganze Sache zu verstehen. Ich bekomme, dass eine Laufzeitumgebung im Wesentlichen eine virtuelle Maschine ist, die auf dem Betriebssystem sitzt und Anwendungen vollständig plattformübergreifend ausgeführt werden kann, aber ich bekomme einfach nicht wie es kann. Werden verschiedene Betriebssysteme nicht anders gemacht? Wie kann eine Laufzeitumgebung auf allen Betriebssystemen ausgeführt werden?Wie genau funktionieren Laufzeitumgebungen?
Antwort
Die Sache ist, hinter den Kulissen passiert noch viel mehr, von dem man nie etwas hört. Runtime-Umgebungen sind in mehreren Ebenen aufgebaut, wobei jeder näher an das heranrückt, was Sie als Entwickler sehen. Sie gehen zuerst durch und schreiben die Anschlüsse der niedrigsten Ebene für jedes Betriebssystem neu, um auf die verschiedenen Stellen auf der Maschine zu zeigen. Wenn sie dann die Ebenen nach oben bewegen, nähert sie sich immer mehr der Identität an, bis Sie die vollständige Laufzeitumgebung haben, die auf jedem Computertyp (fast) identisch erscheint. Ich sage fast, weil die Übersetzung nicht immer perfekt ist. Sie sehen dies, wenn Sie Programme ausführen, deren GUI in Java erstellt wurde. Java verwendet die Standardschaltflächen der Plattform. Auf einem Mac sind es also Schaltflächen im Mac-Stil und unter Windows Schaltflächen im Windows-Stil, obwohl es sich um genau dasselbe Programm handelt.
Ich verstehe. Danke für die Erklärung. Ich denke, es ist am besten, es als Schichten der Abstraktion zu sehen. – ericblobb
Genau, die Laufzeitumgebung ist auf das Niveau abstrahiert, dass der Programmierer sich nicht um die Feinheiten jedes Betriebssystems kümmern muss. Wenn dies Ihre Frage beantwortet, würde es Ihnen etwas ausmachen, es anzunehmen? – Daric