OpenJDK compila y se ejecuta en Pi con éxito, pero la única versión que he encontrado es una sin JIT. Oracle proporciona tal JDK para otras versiones de ARM, pero no ARMv6. ¿Hay alguna forma de tener una versión de JDK en funcionamiento mientras tanto?
java
software-development
berry120
fuente
fuente
Respuestas:
Oracle ha lanzado ahora (a partir de Java 7u6) un JDK con JIT que funciona en el Pi con soporte completo AWT / Swing. También es compatible con JVMTI (el cacao solo tiene soporte parcial). Comunicado de prensa aquí .
Verifiqué que funciona con Greenfoot y proporciona una gran aceleración en comparación con los gustos de una compilación OpenJDK simple (no JIT).
En el momento de escribir esto, no admite punto flotante duro, por lo que no funcionará con distribuciones como Raspbian que solo usan flotación dura; sin embargo, esto está planeado para un lanzamiento futuro.ACTUALIZACIÓN: Como señaló Darren, ahora se ha lanzado una versión de flotación dura para ARM en forma de una versión preliminar de JDK8, puede encontrarla aquí .
ACTUALIZACIÓN 2: el flotador duro ahora es compatible con JDK7
fuente
El paquete icedtea-6-jre-cacao contiene un compilador JIT y, según los informes, funciona en RasPi .
No lo he probado yo mismo.
fuente
Oracle ha lanzado una vista previa para desarrolladores de Java JDK8 para ARM que incluye específicamente soporte para Raspbian en Pi. Funciona, y he descubierto que es aproximadamente 20 veces más rápido que OpenJDK para ciertos cálculos intensivos de coma flotante. http://jdk8.java.net/fxarmpreview/
fuente
En Rasbian puede usar JamVM que incluye un "código-copia-JIT"
JamVM es actualmente el JVM más rápido y estable que incluye un JIT en Rasbian.
Avian también es compatible con Rasbian que también incluye un JIT. Deberá construirlo manualmente: http://labb.zafena.se/?p=630
Espero que Avian aparezca en Raspbian cuando se ha creado a partir de la fuente SID de Debian. Avian actualmente existe en Debian SID experimental dentro del
jvm-7-avian-jre
paquete.Tanto Avian como JamVM funcionan en combinación con las clases OpenJDK-7, por lo que puede usarlos para acelerar todos los lanzadores de java como javac y java. el archivo
/etc/java-7-openjdk/jvm-armhf.cfg
determina qué JVM se usa por defecto dentro de openjdk 7 en Rasbian.También puede indicar a los lanzadores de Java individualmente qué jvm usar:
fuente
Oracle lanzó la versión completa (ya no es una vista previa) de Java 8 y Java 7 para la arquitectura ARM de Raspberry Pi: enlace a Java 8 .
También puede usar desde la línea de comandos:
fuente
Es posible combinar OpenJDK 7 con JVM de Java JDK8 que incluye un JIT para obtener una configuración compatible con X11 y Swing / AWT funcionando.
La interfaz JNI, con la excepción "Classpath", separa claramente las clases de entorno JVM y runtime. Si utiliza el punto de acceso del cliente (jre / lib / arm / client / libjvm.so) de la vista previa de JavaFX 8 en combinación con las clases de entorno de tiempo de ejecución OpenJDK 7 compiladas en Rasbian y los lanzadores de Java (/ usr / lib / jvm / java-7- openjdk-armhf) obtendrá la siguiente configuración y beneficios:
Preparar:
Descargue jdk-8-ea-b36e-linux-arm-hflt-29_nov_2012.tar.gz desde http://jdk8.java.net/fxarmpreview/index.html
fuente