GNU/Linux >> Linux Esercitazione >  >> Linux

Qualche esperienza Java su Raspberry PI?

È 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.

  1. Guida rapida per ottenere Java Embedded in esecuzione su Raspberry Pi
  2. 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.


Linux
  1. Perché i caratteri sembrano orribili in qualsiasi applicazione Java?

  2. Limite di memoria PHP

  3. Mono su Raspberry Pi

  4. Crescente utilizzo della memoria residente (RSS) di Java Process

  5. Qual è il modo migliore per gestire le condizioni di memoria insufficiente in Java?

Installa Java manualmente su Linux

Come installare Java su Raspberry Pi

Come controllare la versione Java

Che cos'è la NVM (memoria non volatile)?

Come installare il sistema operativo Raspbian di Raspberry Pi con Pixel Desktop su qualsiasi computer

Java utilizza molta più memoria rispetto alla dimensione dell'heap (o dimensiona correttamente il limite di memoria Docker)