Die Java Virtual Machine ist ein Computer- Software simuliert . Wenn Sie ein Java-Programm ausführen, wird Ihr Computer die virtuelle Maschine und die virtuelle Maschine läuft das Programm. Das Design der virtuellen Java-Maschine macht es sicherer als das Ausführen von Code direkt auf Ihrem System . System Security
Systemsicherheit ist eine Kombination von zwei Dingen: Schutz gegen versehentliche Absturz oder Ausfall aufgrund von Fehlern im Code , und Schutz gegen bösartigen Code von Viren oder Hacker. Unbeabsichtigter Fehler ist leicht genug, um unwissentlich verursachen in vielen Programmiersprachen durch unsachgemäße Handhabung Speicher oder über andere Fehler . Bösartiger Code schadet durch vorsätzlich falsche Handhabung Speicher in schwierigen Wege , oder einfach , indem sie Zugriff auf den Computer mit "native -Methoden", die Befehle, Programme zu verwenden , um die Maschine zu stellen , Dinge zu tun .
Memory Management
Die Java Virtual Machine macht verschiedene Dinge , um gegen diese Bedrohungen zu schützen. Erstens ist es nicht lassen Programme access memory , dass sie nicht , oder greifen Sie in kniffligen Möglichkeiten (Programme können keine Zeiger zusammen, um Speicher -Adressen für Dinge, die sie nicht zugreifen sollte zu bekommen). Auch die " Garbage Collection "-Funktion verfolgt automatisch Speicherverwaltung und recycelt , was ein Programm nicht mehr verwenden . Diese Funktionen verhindern eine Menge Programmierer Fehler und potenzielle Hacker Taktik .
Sandbox
Ein weiteres Sicherheitsmerkmal Segen aus der virtuellen Java-Maschine ist, dass es wie ein Diener " Sandkasten. " Wenn Sie eine Webseite öffnen mit einem Applet , zum Beispiel , läuft es in der virtuellen Maschine und kann nichts außerhalb . Es wird auf die Sandbox beschränkt und kann nur " spielen " in ihr. Auf diese Weise , auch wenn das Applet versucht, Speicher oder einfach Abstürze beschädigt , kann die virtuelle Maschine zu stoppen , aber das System geht auf , ohne ein Problem .
Maschinenmethodentabelle
Ureinwohner Methoden sind , der von der virtuellen Java-Maschine bezeichnet werden kann , sondern von dem System, auf dem es ausgeführt wird verarbeitet . Sie können eine Schwäche sein , die als ein Weg, um die Sandbox zu verlassen. Die nativen Methoden von Java integrierten Prozesse verwendet werden, alle bestätigt, dass keine bösartigen Code enthalten . Es ist für eine Person, deren Muttersprache Verfahren ermöglichen , aber die Java Sicherheitssystem kann dies verhindern . Applets , zB dürfen keine neuen nativen Methoden installieren.