Wenn Menschen über Java sprechen , erwähnen sie oft die Java Virtual Machine ( JVM) . Um jemand neu in Java , kann dies verwirrend sein. Die Art der JVM und der Rolle, die sie spielt in Ausführung von Java -Programmen ist der Schlüssel zu vielen der Sprache die Eigenschaften und Vorteile. Virtual Machine
Die Java Virtual Machine ist eine Software- Simulation einer realen Maschine . Wenn Sie ein Java -Programm ausführen, startet der Computer die Java Virtual Machine und die virtuelle Maschine läuft das Programm. Anweisungen aus dem Programm werden von der virtuellen Maschine in Anweisungen für das System auf dem es läuft übersetzt . Es gibt verschiedene Versionen der Java Virtual Machine für jede Plattform - PC , Mac oder Linux - aber die gleiche Java-Programm wird auf einem von ihnen laufen
Virtuelle Hardware
. die Register , der Stack , das Verfahren und die Heap- Bereich :
die virtuelle Maschine wird von vier virtuellen Teile gebaut . Die Register verfolgen den Zustand des Stacks und die aktuelle Stelle im Programm . Der Stapel hält Variablen und Adressen in Operationen wie das Programm läuft eingesetzt. Verfahren Bereich die tatsächliche Bytecode das Programm aufruft. Der Haufen ist, wo Speicher vom Programm benötigt wird zugeordnet und später von der Garbage Collection Prozess zurückgeführt .
Garbage Collection
Eines der Merkmale der Java virtuelle Maschine eingebaute Garbage Collection . In vielen Programmiersprachen , hat der Programmierer manuell nachverfolgen dem Speicher die Anwendung nimmt und gibt . In Java, macht die virtuelle Maschine diese Aufgabe für sich. Immer, wenn ein Java -Programm mit einem Abschnitt des Speichers abgeschlossen ist , sagt die virtuelle Maschine den Computer der Speicher ist frei. Dies verhindert, dass eine Menge von Fehlern , und wirklich entlastet einen großen Kopfschmerzen für Programmierer.
Memory Access
Ein weiteres Merkmal der der Java Virtual Machine ist strukturierte Speicherzugriff. Einfach ausgedrückt, ist das genaue Standorte aller Variablen und Datenstrukturen im Speicher nie bekannt und wird der Spur gehalten nur von der virtuellen Maschine . Programmierer können nicht auf Speicher sollten sie nicht bekommen . Dies ist ein großer Vorteil für die Sicherheit , die Verhütung nicht nur zufällig , sondern auch Probleme tricky Hacker Taktik . Es ist in der virtuellen Maschine Design gebaut , bis hin zu den Bytecode -Ebene .
Sandbox
Der Einsatz einer virtuellen Maschine gibt Vorteile von Java-Programmen . Neben Cross-Plattform- Kompatibilität, sind Java-Programme auch sicherer . Die virtuelle Maschine ist eine " Sandbox ", also ein Programm kann nicht auf Prozesse oder Speicher außerhalb der virtuellen Maschine . Wenn ein Programm versehentlich stürzt , wird es zum Absturz der virtuellen Maschine und lassen Sie das System unberührt. Die Sandbox hat auch inhärenten Schutz vor Viren oder Hackern , damit sie nicht immer Zugang zum Rest des Computers.