Was ist Java Virtual Machine und was hat das mit Java zu tun?

4267
shenkwen

Ich habe versucht, Eclipse auf meinem Macbook Air zu installieren. Beim Ausführen des Installationsprogramms erhalte ich diese Meldung

Was ist Java Virtual Machine und was hat das mit Java zu tun?

Es scheint keine offizielle Seite für JVM wie andere Apps zu geben. Wenn ich nach "install jvm" suche, wurde ich zu einer " download java " -Seite geführt.

Ich habe sowieso das neueste Java von dieser Seite installiert, aber die Nachricht ist immer noch da, was mich mehr verwirrt.

Fragen sind:

  1. Wenn die JVM Java "überall" aktivieren soll, sollte sie nicht bereits installiert sein, nachdem ich das neueste Java installiert habe?

  2. Wenn ich bei Google viele Seiten durchsuche, sieht keine davon aus wie eine echte Seite. Ich suche sogar jvmin java.com, aber es erscheint nichts sinnvolles.

    Warum ist es so schwierig, ein so beliebtes Tool zu finden und wohin sollte ich die JVM herunterladen?

1
Es ist Java ... Was hat Ihre Forschung gezeigt? Ramhound vor 8 Jahren 0
@ranhound Es ist nicht so offensichtlich für jemanden, der kein Experte für Java-Technologie ist. Noch weniger offensichtlich ist die Behebung des Fehlers. Ich musste nach Anweisungen für OSX suchen (zum Glück waren sie auf [so]) DavidPostill vor 8 Jahren 0

2 Antworten auf die Frage

5
DavidPostill

Was ist die JVM?

Die Java Virtual Machine (JVM) ist ein Interpreter, der Java-Bytecode ausführt.

Wenn Sie ein Java-Programm kompilieren, ist die Ausgabe ein Java-Bytecode, der von jedem Computer ausgeführt werden kann, der über eine native JVM verfügt.

In der Java-Programmiersprache wird der gesamte Quellcode zunächst in Klartextdateien mit der Erweiterung .java geschrieben.

Diese Quelldateien werden dann vom javac-Compiler in .class-Dateien kompiliert.

Eine .class-Datei enthält keinen für Ihren Prozessor systemeigenen Code. Es enthält stattdessen Bytecodes - die Maschinensprache der Java Virtual Machine (JVM).

Das Java Launcher-Tool führt dann Ihre Anwendung mit einer Instanz der Java Virtual Machine aus.

Da die Java VM auf vielen verschiedenen Betriebssystemen verfügbar ist, können dieselben .class-Dateien unter Microsoft Windows, dem Betriebssystem Solaris ™ (Solaris OS), Linux oder Mac OS ausgeführt werden.

Einige virtuelle Maschinen, z. B. Java SE HotSpot auf einen Blick, führen zur Laufzeit zusätzliche Schritte aus, um Ihrer Anwendung eine Leistungssteigerung zu verleihen. Dies umfasst verschiedene Aufgaben, z. B. das Auffinden von Leistungsengpässen und das erneute Kompilieren (in nativen Code) von häufig verwendeten Codeabschnitten.

Quelle Über die Java-Technologie


Wie lade ich eine JVM herunter?

Die Java Runtime Environment (JRE) enthält eine JVM.

  • Wenn Sie nur Java-Programme ausführen, reicht die JRE aus.

Das Java Development Kit ist eine Obermenge der JRE (also auch eine JVM). Es enthält auch andere Tools, die zum Entwickeln von Java-Programmen erforderlich sind, beispielsweise ein Compiler.

  • Wenn Sie Java-Programme entwickeln, sollten Sie das JDK herunterladen.

Sie können sowohl die JRE als auch das JDK unter http://www.oracle.com/technetwork/java/javase/downloads/index.html herunterladen


Warum bekomme ich eine Fehlermeldung?

Die Version der JVM, die Sie bereits installiert haben, ist für die Version von Eclipse, die Sie installieren möchten, zu alt.

Um eine neuere Version zu erhalten, müssen Sie entweder eine neuere JRE oder ein neueres JDK installieren, die beide eine JVM enthalten.


Ich habe sowieso das neueste Java von dieser Seite installiert, aber die Nachricht ist immer noch da

Eine mögliche Lösung für Ihr Problem könnte darin bestehen, Java6 (von Apple selbst bereitgestellt) zu deinstallieren und nur Java7 in Ihrem System zu installieren. Dies gilt nur für den Fall, dass Sie keine Anwendungen haben, die die alte Java6-Version dringend benötigen.

Um die Apple-ähnliche Java6-Installation zu entfernen, öffnen Sie ein Terminal und:

sudo rm -rf /System/Library/Java/JavaVirtualMachines/1.6.0.jdk 

Nach diesem Schritt sollten Sie nur Java7 von Oracle in Ihrem System installiert haben. Öffnen Sie zur Überprüfung ein anderes Terminal und führen Sie Folgendes aus:

java -version 

Es sollte etwas wie "Java-Version" 1.7.0_XX "anzeigen, wobei XX die aktuelle Update-Version der Java7-Installation ist. Wenn nicht, fahren Sie mit dem nächsten Schritt fort.

Definieren Sie die JAVA_HOMEVariable neu (zur Unterstützung von IDEs wie Eclipse und anderen Entwicklertools ...), wodurch Sie erkennen können, wo sich die "aktive" Java-Installation in Ihrem System befindet. Öffnen Sie ein Terminal und ( Hinweis : Ersetzen Sie zuerst XX!):

sudo rm /Library/Java/Home  sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_XX.jdk/Contents/Home /Library/Java/Home 

Danach sollte eine Neuinstallation von Eclipse Java7 in Ihrem System erkennen und mit dieser Version sofort funktionieren. Sie können einen installierten Eclipse für die Verwendung dieser Installation ändern, indem Sie in Eclipse navigieren zu:

Preferences-> Java-> Installed JREs.

Entfernen Sie dann den alten Java6-Systemeintrag und fügen Sie einen neuen Pfad (siehe oben) mit dem Namen Java7 hinzu.

Quellantwort auf Ich habe Java 7 installiert, aber Eclipse sagt immer wieder, dass 1.6 von MWiesner nicht für dieses Produkt geeignet ist

Ich habe diese Befehle ausprobiert, aber sie funktionierten nicht. Nachdem ich den Befehl ausgeführt hatte, der Java 1.6 deinstallieren soll, habe ich Java -Version ausgeführt und es wurde immer noch Java 1.6 angezeigt. Zum Schluss installiere ich das neueste Jdk von der Orakelseite und die Version wurde 1.8. Laufen Sie jetzt Eclipse. shenkwen vor 8 Jahren 0
1
barlop

Es gibt dieses JDK, das JVM ist, sowie weitere Informationen für die Java-Entwicklung. http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html Diese Nachricht, von der Sie einen Screenshot haben, deutet an, dass Sie bereits haben JVM 1.6 benötigt aber 1.7 oder höher. Aber du brauchst das JDK nicht, es ist ziemlich groß.

Dieser Link zum kostenlosen Java-Download würde die JVM
https://java.com/de/download/ enthalten. Ein Google sagt, JRE beinhaltet JVM und einige Klassen. Die andere Option ist das JDK, das JVM sowie einige Tools für Entwickler enthält. Sie benötigen nur die JRE, es sei denn, Sie sind Entwickler und können nur das JDK herunterladen. So oder so bekommen Sie die JVM.

Gehen Sie zu einem beliebigen Teil des Macs, der zum Auflisten von Programmen gehört, und prüfen Sie, ob Sie Version 1.6 entfernen können. Das Programm, das diese Meldung ausgibt, sieht nur Java 1.6 und nicht die neueste Version. Sie können Ihren Pfad überprüfen echo $PATHund herausfinden, welche Java-Version sich in Ihrem Pfad befindet.

Dieser Befehl funktioniert in Windows mit gnuwin32

C:\Users\harvey>java -showversion 2>&1 | head -n 1 java version "1.8.0_11" 

Ich denke, es funktioniert auch auf einem Linux oder Mac

$ java -showversion 2>&1 | head -n 1 java version "1.8.0_11" 

oder einfach java -showversion und schauen Sie sich die erste Zeile der Ausgabe an, und Sie sehen die Version.