OpenJDK wird auf dem Pi erfolgreich kompiliert und ausgeführt, aber die einzige Version, die ich gefunden habe, ist eine ohne JIT. Oracle bietet ein solches JDK für andere Versionen von ARM an, jedoch nicht für ARMv6. Gibt es eine Möglichkeit, eine solche Version des JDK in der Zwischenzeit zum Laufen zu bringen?
java
software-development
berry120
quelle
quelle
Antworten:
Oracle hat jetzt (ab Java 7u6) ein JDK mit JIT veröffentlicht, das auf dem Pi mit voller AWT / Swing-Unterstützung funktioniert. Es unterstützt auch JVMTI (Kakao hat nur teilweise Unterstützung.) Pressemitteilung hier .
Ich habe festgestellt, dass es mit Greenfoot funktioniert und im Vergleich zu einem einfachen OpenJDK-Build (ohne JIT) eine enorme Geschwindigkeitssteigerung bietet.
Zum Zeitpunkt des Schreibens unterstützt es keine harten Fließkommazahlen und funktioniert daher nicht mit Distributionen wie Raspbian, die nur harte Fließkommazahlen verwenden - dies ist jedoch für eine zukünftige Version geplant.UPDATE: Wie Darren betonte, wurde jetzt eine Hard-Float-Version für ARM in Form eines JDK8-Preview-Releases veröffentlicht, das Sie hier finden .
UPDATE 2: Hard Float wird jetzt in JDK7 unterstützt.
quelle
Das Paket icedtea-6-jre-cacao enthält einen JIT-Compiler und arbeitet angeblich mit dem RasPi .
Ich habe es nicht selbst ausprobiert.
quelle
Oracle hat jetzt eine Entwicklervorschau von Java JDK8 für ARM veröffentlicht, die speziell die Unterstützung von Raspbian auf dem Pi mit festem Float beinhaltet. Es funktioniert und ich habe festgestellt, dass es für bestimmte Gleitkomma-intensive Berechnungen etwa 20-mal schneller ist als OpenJDK. http://jdk8.java.net/fxarmpreview/
quelle
Auf Rasbian können Sie JamVM verwenden, das eine "Code-Kopier-JIT" enthält.
JamVM ist derzeit die schnellste und stabilste JVM, die eine JIT für Rasbian enthält.
Avian wird auch auf Rasbian unterstützt, das auch eine JIT enthält. Sie müssen es manuell erstellen: http://labb.zafena.se/?p=630
Ich erwarte, dass Avian in Raspbian erscheint, wenn es aus der Debian SID-Quelle erstellt wurde. Avian existiert derzeit in Debian SID experimentell innerhalb des
jvm-7-avian-jre
Pakets.Sowohl Avian als auch JamVM arbeiten in Kombination mit den OpenJDK-7-Klassen, sodass Sie beide verwenden können, um alle Java-Startprogramme wie JavaC und Java zu beschleunigen. Die Datei
/etc/java-7-openjdk/jvm-armhf.cfg
bestimmt, welche JVM in openjdk 7 auf Rasbian standardmäßig verwendet wird.Sie können den Java-Startern auch einzeln mitteilen, welche JVM verwendet werden soll:
quelle
Oracle hat die Vollversion (keine Vorschau mehr) von Java 8 und Java 7 für die ARM-Architektur des Raspberry Pi veröffentlicht: Link zu Java 8 .
Sie können auch über die Befehlszeile Folgendes verwenden:
quelle
Es ist möglich, OpenJDK 7 mit der JVM von Java JDK8 zu kombinieren, die eine JIT enthält, um ein Setup mit X11-Unterstützung und Swing / AWT-Funktion zu erhalten.
Die JNI-Schnittstelle trennt mit Ausnahme von "Classpath" die JVM- und die Laufzeitumgebungsklassen eindeutig. Wenn Sie den Client-Hotspot (jre / lib / arm / client / libjvm.so) aus der JavaFX 8-Vorschau in Kombination mit den von Rasbian kompilierten OpenJDK 7-Laufzeitumgebungsklassen und Java-Startprogrammen (/ usr / lib / jvm / java-7-) verwenden openjdk-armhf) erhalten Sie die folgenden Einstellungen und Vorteile:
Installieren:
Laden Sie jdk-8-ea-b36e-linux-arm-hflt-29_nov_2012.tar.gz von http://jdk8.java.net/fxarmpreview/index.html herunter
quelle