OpenJDK se compile et s'exécute avec succès sur le Pi, mais la seule version que j'ai trouvée est une version sans JIT. Oracle fournit un tel JDK pour d'autres versions d'ARM, mais pas ARMv6. Existe-t-il un moyen de faire fonctionner une telle version du JDK en attendant?
java
software-development
berry120
la source
la source
Réponses:
Oracle a maintenant publié (à partir de Java 7u6) un JDK avec JIT qui fonctionne sur le Pi avec un support AWT / Swing complet. Il prend également en charge JVMTI (cacao n'a qu'un support partiel.) Communiqué de presse ici .
J'ai vérifié que cela fonctionne avec Greenfoot , et fournit une accélération énorme par rapport aux goûts d'une version OpenJDK simple (non JIT).
Au moment de l'écriture, il ne prend pas en charge les virgules flottantes dures, et ne fonctionnera donc pas avec des distributions comme Raspbian qui n'utilisent que des flottants durs - cela est cependant prévu pour une prochaine version.MISE À JOUR: Comme l'a souligné Darren, une version flottante dure a maintenant été publiée pour ARM sous la forme d'une version préliminaire JDK8, vous pouvez la trouver ici .
MISE À JOUR 2: Le flottement dur est désormais pris en charge dans JDK7.
la source
Le paquet icedtea-6-jre-cacao contient un compilateur JIT et fonctionnerait sur le RasPi .
Je ne l'ai pas essayé moi-même.
la source
Oracle a maintenant publié un aperçu développeur de Java JDK8 pour ARM qui inclut spécifiquement la prise en charge de Raspbian flottant sur le Pi. Cela fonctionne, et je l'ai trouvé environ 20 fois plus rapide que OpenJDK pour certains calculs intensifs en virgule flottante. http://jdk8.java.net/fxarmpreview/
la source
Sur Rasbian, vous pouvez utiliser JamVM qui inclut un "code-copying-JIT"
JamVM est actuellement la JVM la plus rapide et la plus stable qui inclut un JIT sur Rasbian.
Avian est également pris en charge sur Rasbian qui comprend également un JIT. Vous devrez le construire manuellement: http://labb.zafena.se/?p=630
Je m'attends à ce qu'Avian apparaisse dans Raspbian quand il a été construit à partir de la source Debian SID. Avian existe actuellement dans Debian SID experimental à l'intérieur du
jvm-7-avian-jre
paquet.Avian et JamVM fonctionnent tous deux en combinaison avec les classes OpenJDK-7 afin que vous puissiez les utiliser tous les deux pour accélérer tous les lanceurs java tels que javac et java. le fichier
/etc/java-7-openjdk/jvm-armhf.cfg
détermine quelle machine virtuelle Java est utilisée par défaut dans openjdk 7 sur Rasbian.Vous pouvez également indiquer aux lanceurs java individuellement quel jvm utiliser:
la source
Oracle a publié la version complète (plus d'aperçu) de Java 8 et Java 7 pour l'architecture ARM du Raspberry Pi: lien vers Java 8 .
Vous pouvez également utiliser à partir de la ligne de commande:
la source
Il est possible de combiner OpenJDK 7 avec la JVM de Java JDK8 qui inclut un JIT pour obtenir une configuration avec X11 pris en charge et Swing / AWT fonctionnant.
L'interface JNI, à l'exception de "Classpath", sépare clairement la JVM et les classes d'environnement d'exécution. Si vous utilisez le point d'accès client (jre / lib / arm / client / libjvm.so) de l'aperçu JavaFX 8 en combinaison avec les classes d'environnement Runtime OpenJDK 7 compilées Rasbian et les lanceurs java (/ usr / lib / jvm / java-7- openjdk-armhf), vous obtiendrez la configuration et les avantages suivants:
Installer:
Téléchargez jdk-8-ea-b36e-linux-arm-hflt-29_nov_2012.tar.gz depuis http://jdk8.java.net/fxarmpreview/index.html
la source