Quel est le meilleur moyen d’exécuter du code Java sur le RP? L’installation d’OpenJDK à partir du dépôt Debian / Fedora fonctionne-t-elle correctement? Existe-t-il des modifications à utiliser pour améliorer les performances? En outre, existe-t-il une JVM "légère" disponible pour le RP qui fonctionne mieux / plus vite que la JVM standard d'OpenJDK? Si oui, comment est-ce obtenu et installé?
35
Réponses:
Pour la partie "légère" de votre question, vous voudrez peut-être envisager un certain nombre de machines virtuelles plus petites.
Par exemple, JamVM a été conçu à l’origine pour fonctionner dans de petits systèmes tels que le RP, et Cacao (une autre JVM plus petite) est disponible sous forme de paquets dans debian:
bien que les deux utilisent les bibliothèques de classes open-jdk AFAIK et ses bibliothèques de classes qui constituent la partie la plus importante (en termes d’empreinte disque) de l’installation d’un JRE.
la source
L'installation à partir des référentiels devrait fonctionner correctement sur Debian:
Java ne semble pas être disponible sur le référentiel Arch.
Quelqu'un peut-il s'il vous plaît éditer avec des informations pour Fedora, je n'ai aucune connaissance de cette distribution.
la source
J'ai constaté un vif intérêt pour l'utilisation de diverses machines virtuelles Java compressées fonctionnant sous framboise pi, mais peu de personnes se sont penchées sur la compilation de Java directement en code machine. http://gcc.gnu.org/java/ héberge un compilateur qui peut vous donner du code machine à partir de java ou du code octet java. Le projet que j'allais utiliser pour utiliser gcj a finalement été abandonné avant qu'il ne soit lancé, mais le compilateur est présenté comme un bon choix pour les systèmes embarqués, il devrait donc convenir à la framboise pi.
Au milieu de la page de ce forum, vous trouverez un très beau graphique comparant les performances relatives de différentes machines virtuelles ainsi que de gcj http://www.raspberrypi.org/phpBB3/viewtopic.php?t=6330&p=124107 . N'oubliez pas que ces repères ont été définis avant l'augmentation drastique des performances incluse dans la dernière distribution raspbian.
la source
Je ne connais pas de JDK léger spécial, mais l’openjdk normal du repo semble fonctionner correctement pour moi.
Je dis ok-ish - il n'y a pas de problème de fonctionnalité en soi, du moins aucun de ceux que j'ai trouvés. Swing / AWT semble également bien fonctionner (je n’ai pas essayé JavaFX.) En revanche, les performances n’ont rien de vraiment médiocre en raison d’un manque de JIT (voir cette question ).
la source
Oracle a gracieusement porté une version de Java 7 SE sans tête sur ARM pour Raspberry PI. J'ai copié des fichiers de classe à partir d'une partie de mon code basé sur une console non-EE et tout fonctionne correctement, mais environ 9 fois plus lentement qu'un Pentium IV à 3GHz. voir http://eclipsejpa.blogspot.ca/2012/10/java-se-7-embedded-on-raspberry-pi.html
http://www.oracle.com/technetwork/articles/java/raspberrypi-1704896.html
la source
Oracle a publié Java 8 (et Java 7) pour
ARM
. Utilisez le lien de cette page pour obtenir la meilleure version Java pour votre Raspberry Pi.Cela devrait également fonctionner:
la source
Je ne comprends pas comment cela fonctionne avec une machine virtuelle, mais je sais que le SoC ARM sur le Raspberry Pi peut exécuter le bytecode Java lui-même.
Je n'ai pas le Raspberry Pi pour tester JRE. Alors je spécule.
Utilisez:
cat /proc/cpuinfo/
et voyez si Java pourrait supporter le Raspberry Pi.la source
java
indicateur/proc/cpuinfo
signifie que le processeur prend en charge l'extension Jazelle. Vous pouvez lire à ce sujet sur wikipedia .