È assolutamente possibile, ma dovrebbe funzionare meglio con le versioni più recenti che hanno più memoria (ad esempio la versione da 512 MB del Pi). Nel dicembre 2012 Oracle ha rilasciato un'anteprima per sviluppatori di Java SE 8 per ARM. Il post del blog con l'annuncio contiene collegamenti a una serie di tutorial che dovrebbero farti iniziare con il semplice Java SE o JavaFX, a seconda di quanto dovrebbero essere fantasiose le tue interfacce.
- Guida rapida per ottenere Java Embedded in esecuzione su Raspberry Pi
- JavaFX su Raspberry Pi:3 semplici passaggi
Se sei preoccupato per le prestazioni di JavaFX su Raspberry Pi, controlla il post del blog "JavaFX su Raspberry PI", che contiene alcune informazioni sulle prestazioni di JavaFX, confrontandole con le applicazioni native.
Aggiornamento:risultati dei test dopo aver eseguito Tomcat 7 con Java 8 sul Pi
Dopo aver ottenuto la versione da 512 MB del Pi (MODELLO B), ho installato Java 8 e Tomcat 7.0 senza problemi. Gli esempi di Tomcat funzionavano e sono stato in grado di utilizzare l'applicazione Tomcat Manager senza problemi.
Con 64 MB di RAM utilizzati per la scheda grafica, avevo ancora 291 MB di memoria libera (con sshd in esecuzione):
[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
ha segnalato un totale di 192 MB utilizzati dal processo Tomcat.
Raspberry Pi ha solo 185 MB disponibili per l'intera JVM. (dopo l'avvio, con 16 MB per l'elaborazione video).
Quindi, devi usare opzioni di memoria aggressive e precise (-Xmx120M -XX:MaxPermSize=55M -XX:ReservedCodeCacheSize=4M -Djava.awt.headless=true
)
Ho realizzato un'applicazione basata su Jetty, Spring 3 e Hibernate/JPA. Subito dopo l'implementazione, si adatta a circa 15 MB di spazio heap e 32 MB di spazio non heap (utilizzando l'analisi della memoria di JProfiler)
Ogni classe caricata è memoria permanente persa, perché lo spazio PermGen non può essere sottoposto a Garbage Collection. Molte classi vengono caricate solo per il supporto dell'inizializzazione, ma rimarranno caricate per sempre. Forse si possono trovare tweek che consumano meno spazio PermGen per ogni componente.