Heim > Artikel > Betrieb und Instandhaltung > Was ist der Unterschied zwischen JVM und Docker?
Unterschiede: 1. Beim Ausführen von Docker gibt es fast keinen zusätzlichen Leistungsverlust, während JVM zusätzliche CPU- und Speicherverluste aufweist. 2. Docker ist portabel, flexibel und kann mit Linux verwendet werden, während JVM relativ umfangreich und schlecht gekoppelt ist zur virtuellen Maschine. 3. Das von Docker gespeicherte Bild ist klein, während das von jvm gespeicherte Bild riesig ist.
Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Docker-1.13.1-Version, Dell G3-Computer.
Docker hat weniger Abstraktionsschichten als virtuelle Maschinen. Docker benötigt keinen Hypervisor, um Hardwareressourcen zu virtualisieren. Programme, die auf Docker-Containern ausgeführt werden, nutzen direkt die Hardwareressourcen der tatsächlichen physischen Maschine. Daher wird Docker offensichtliche Effizienzvorteile hinsichtlich der CPU- und Speicherauslastung haben.
Docker verwendet den Kernel des Hosts und erfordert kein Gastbetriebssystem. Daher ist es beim Erstellen eines Containers nicht erforderlich, einen Betriebssystemkernel wie bei einer virtuellen Maschine neu zu laden. Dies vermeidet den zeitaufwändigen und ressourcenintensiven Prozess des Bootens, Ladens des Betriebssystemkerns und Zurückkehren. Wenn eine neue virtuelle Maschine erstellt wird, muss die Software der virtuellen Maschine das Gastbetriebssystem laden, und der Rückkehrvorgang dauert Minuten. Das Erstellen eines neuen Docker-Containers dauert nur wenige Sekunden.
Vergleich zwischen Docker und JVM:
Docker läuft nahezu ohne zusätzlichen Leistungsverlust, während das JVM-Betriebssystem zusätzliche CPU und Speicher verbraucht.
Docker ist portabel, leichtgewichtig, flexibel und an Linux anpassbar, während JVM ist sperrig und virtuell Hoher Grad an Maschinenkopplung
Das von Docker gespeicherte Image ist klein und einfach zu speichern und zu übertragen. Das JVM-Image ist riesig.
„Container“-Technologie wie Docker simuliert ein ganzes Betriebssystem. Es existiert statisch und kann die Ausführung von Anwendungen auf jeder gleichen Plattform unterstützen, und der Container selbst ist prozessunabhängig.
jvm ist eine spezifische Code-Ausführungsplattform. Wenn es ausgeführt wird, kann es nur die Ausführung eines bestimmten Codes unterstützen und muss sich innerhalb des JVM-Prozesses befinden. Container wie Docker für den Linux-Kernel können nicht direkt mit Windows kompatibel sein Die Maschine ist plattformunabhängig und fast alle Plattformen sind konsistent. Der Container führt den sogenannten „Maschinencode“ aus Isoliert, ohne Host-Zuordnung kann das Programm nicht direkt auf Host-Ressourcen zugreifen;
jvm ist nicht vom Host isoliert und kann Host-Ressourcen selbst zuordnen und verwenden. Der Container ist statisch, in sich geschlossen, verfügt über ein Dateisystem und ist ausführbar Programme und nicht Ein Prozess muss gestartet werden;
jvm ist nur dann sinnvoll, wenn er als Prozess gestartet wird. Er verfügt über kein eigenes Dateisystem und enthält keine Anwendungen. Er interpretiert nur bestimmte Daten Dateien oder andere Quellen beginnend mit dem Code
Im Allgemeinen haben virtuelle Maschinen wie JVM und Docker einige technische Ursprünge. Sie sind beide virtualisierte Hostumgebungen
Es ist nur so, dass JVM eine höhere Ebene ist, anwendungsorientiert und spezifisch virtuelle Ausführungsumgebung. Docker ist eine universelle Ausführungsumgebung, die auf Betriebssystemebene ausgerichtet ist
Empfohlenes Lernen: „
Docker-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen JVM und Docker?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!