GNU/Linux >> Tutoriales Linux >  >> Linux

¿Alguna experiencia con Java en Raspberry PI?

Es absolutamente posible, pero debería funcionar mejor con las versiones más nuevas que tienen más memoria (por ejemplo, la versión de 512 MB del Pi). En diciembre de 2012, Oracle lanzó una vista previa para desarrolladores de Java SE 8 para ARM. La publicación del blog con el anuncio contiene enlaces a una serie de tutoriales que deberían ayudarlo a comenzar con Java SE o JavaFX, dependiendo de cuán sofisticadas deberían ser sus interfaces.

  1. Guía rápida para obtener Java Embedded ejecutándose en Raspberry Pi
  2. JavaFX en Raspberry Pi:3 sencillos pasos

Si le preocupa el rendimiento de JavaFX en Raspberry Pi, consulte la publicación de blog "JavaFX en Raspberry PI", que contiene información sobre el rendimiento de JavaFX, comparándolo con las aplicaciones nativas.

Actualización:resultados de la prueba después de ejecutar Tomcat 7 con Java 8 en Pi
Después de obtener la versión de 512 mb del Pi (MODELL B), instalé Java 8 y Tomcat 7.0 sin ningún problema. Los ejemplos de Tomcat estaban funcionando y pude usar la aplicación de administración de Tomcat sin ningún problema.

Con 64 MB de RAM utilizados para la tarjeta gráfica, todavía tenía 291 MB de memoria libre (con sshd ejecutándose):

[email protected] ~/ $ free -m
             total       used       free     shared    buffers     cached
Mem:           438        146        291          0         10         74
-/+ buffers/cache:         60        377
Swap:           99          0         99

pmap informó un total de 192 MB utilizados por el proceso Tomcat.


Raspberry Pi tiene solo 185 MB disponibles para toda la JVM. (después del arranque, con 16 MB de procesamiento de video).

Luego, debe usar opciones de memoria agresivas y precisas (-Xmx120M -XX:MaxPermSize=55M -XX:ReservedCodeCacheSize=4M -Djava.awt.headless=true )

Hice una aplicación basada en Jetty, Spring 3 e Hibernate/JPA. Justo después de la implementación, cabe en aproximadamente 15 MB de espacio de almacenamiento dinámico y 32 MB de espacio no dinámico (utilizando el análisis de memoria de JProfiler)

Cada clase cargada es una pérdida de memoria permanente, porque el espacio PermGen no se puede recolectar basura. Muchas clases se cargan solo para soporte de inicialización, pero permanecerán cargadas para siempre. Tal vez se puedan encontrar ajustes para consumir menos espacio de PermGen para cada componente.


Linux
  1. Cómo instalar Java en Linux

  2. Uso de memoria de Linux

  3. ¿Por qué las fuentes se ven horribles en cualquier aplicación Java?

  4. Límite de memoria PHP

  5. ¿Qué es ioremap()?

Cómo instalar Java en Raspberry Pi

Cómo comprobar la versión de Java

¿Qué es NVM (memoria no volátil)?

Cómo instalar el sistema operativo Raspbian de Raspberry Pi con Pixel Desktop en cualquier computadora

Java usa mucha más memoria que el tamaño del montón (o el tamaño correcto del límite de memoria de Docker)

Memoria inactiva de Linux