¿Cuál es la mejor manera de ejecutar código Java en el RP? ¿Funciona bien instalar OpenJDK desde los repositorios de Debian / Fedora? ¿Hay ajustes que uno debería usar para mejorar el rendimiento? Además, ¿hay un JVM "ligero" disponible para el RP que funcione mejor / más rápido que el JVM estándar de OpenJDK? Si es así, ¿cómo se obtiene e instala?
35
Respuestas:
Para la parte "ligera" de su pregunta, hay una serie de JVM más pequeñas que puede considerar.
Por ejemplo, JamVM se diseñó originalmente para funcionar en sistemas pequeños como el RP y tanto él como Cacao (otra JVM más pequeña) están disponibles como paquetes en debian:
aunque ambos usan las bibliotecas de clases open-jdk AFAIK, y son las bibliotecas de clases que son la gran parte (en cuanto a la huella del disco) de instalar un JRE.
fuente
La instalación desde los repositorios debería funcionar bien en Debian:
Java no parece estar disponible en el repositorio de Arch.
¿Alguien puede editar con información de Fedora? No tengo conocimiento de esa distribución.
fuente
He visto mucho interés en ejecutar varias JVM reducidas que se ejecutan en Raspberry Pi, pero pocas personas han estudiado la compilación de Java directamente al código de la máquina. http://gcc.gnu.org/java/ aloja un compilador que puede proporcionarle código de máquina desde java o desde código de bytes java. El proyecto para el que iba a usar gcj terminó siendo descartado antes de que despegara, pero el compilador se considera como un buen ajuste para los sistemas integrados, por lo que debería adaptarse perfectamente a la frambuesa pi.
A la mitad de la página en este foro hay un gráfico muy bueno que alguien hizo comparando el rendimiento relativo de varias JVM, así como gcj http://www.raspberrypi.org/phpBB3/viewtopic.php?t=6330&p=124107 . Tenga en cuenta que estos puntos de referencia se realizaron antes del aumento drástico del rendimiento incluido en la última distribución de raspbian.
fuente
No conozco ningún JDK ligero especial, pero el openjdk normal del repositorio parece funcionar bien para mí.
Digo ok-ish : no hay ningún problema con la funcionalidad per se, al menos ninguno que haya encontrado. Eso incluye aplicaciones principales, Swing / AWT también parece funcionar bien (no he probado JavaFX). El rendimiento, por otro lado, no es nada correcto debido a la falta de JIT (vea esta pregunta ).
fuente
Oracle ha portado gentilmente una versión de Java 7 SE sin cabeza al ARM para el Raspberry PI. Copié archivos de clase de algunos de mis códigos basados en consolas que no son EE y funciona bien, pero alrededor de 9 veces más lento que un Pentium IV a 3GHz. ver http://eclipsejpa.blogspot.ca/2012/10/java-se-7-embedded-on-raspberry-pi.html
http://www.oracle.com/technetwork/articles/java/raspberrypi-1704896.html
fuente
Oracle lanzó Java 8 (y Java 7) para
ARM
. Use el enlace de esta página para obtener la mejor versión de Java actualmente para su Raspberry Pi.Esto también debería funcionar:
fuente
No sé cómo funciona con una JVM, pero sé que el SoC ARM en la Raspberry Pi puede ejecutar el código de bytes de Java.
No tengo la Raspberry Pi para probar JRE. Entonces especulo.
Utilice:
cat /proc/cpuinfo/
y vea si Java podría soportar la Raspberry Pi.fuente
java
indicador/proc/cpuinfo
significa que la CPU admite la extensión Jazelle. Puedes leer sobre esto en wikipedia .