Come posso eseguire il software Java?


35

Qual è il modo migliore per eseguire il codice Java su RP? L'installazione di OpenJDK dai repository Debian / Fedora funziona correttamente? Ci sono modifiche da usare per migliorare le prestazioni? Inoltre, è disponibile una JVM "leggera" per l'RP che funziona meglio / più velocemente della JVM standard di OpenJDK? In tal caso, come viene ottenuto e installato?


1
Si noti che OpenJDK non ha ancora un ARM JIT, rendendolo lento.
Thorbjørn Ravn Andersen,

Sembra che ARM JIT di Oracle non faccia parte di OpenJDK.
Thorbjørn Ravn Andersen,

Risposte:


15

Per la parte "leggera" della tua domanda, ci sono una serie di JVM più piccole che potresti prendere in considerazione.

Ad esempio JamVM è stato originariamente progettato per funzionare in piccoli sistemi come RP e sia esso che Cacao (un altro JVM più piccolo) sono disponibili come pacchetti in debian:

icedtea-7-jre-jamvm
icedtea-7-jre-cacao

sebbene entrambi utilizzino le librerie di classi open-jdk AFAIK, e sono le librerie di classi che sono la parte enorme (saggia impronta del disco) dell'installazione di un JRE.


11

L'installazione dai repository dovrebbe funzionare bene su Debian:

sudo apt-get clean
sudo apt-get update
sudo apt-get install openjdk-6-jre

Java non sembra essere disponibile sul repository Arch.

Qualcuno può modificare con le informazioni per Fedora, non ho conoscenza di quella distribuzione.


3

Ho visto molto interesse nell'esecuzione di varie JVM ridotte in esecuzione su Raspberry Pi, ma poche persone hanno esaminato la compilazione di Java direttamente al codice della macchina. http://gcc.gnu.org/java/ ospita un compilatore che può fornire codice macchina da java o dal codice byte java. Il progetto che stavo per usare gcj per essere finito è stato scartato prima di decollare ma il compilatore è stato considerato adatto ai sistemi embedded, quindi dovrebbe adattarsi perfettamente al raspberry pi.

A metà pagina in questo forum c'è un bel grafico che qualcuno ha fatto confrontando le prestazioni relative di vari JVM e gcj http://www.raspberrypi.org/phpBB3/viewtopic.php?t=6330&p=124107 . Tieni presente che questi parametri di riferimento sono stati fatti prima dell'aumento drastico delle prestazioni incluso nell'ultima distribuzione raspbian.


Ora, sei mesi dopo, hai esperienza pratica nel farlo su Raspberry?
Thorbjørn Ravn Andersen,

2

Non esiste un JDK speciale leggero che io conosca, ma il normale openjdk del repository sembra funzionare bene per me.

Dico ok-ish : non c'è nessun problema con la funzionalità di per sé, almeno nessuno che ho trovato. Ciò include applicazioni headful, anche Swing / AWT sembra funzionare bene (non ho provato JavaFX.) Le prestazioni d'altro canto non sono nulla di cui parlare a causa della mancanza di JIT (vedi questa domanda .)



1

Oracle ha rilasciato Java 8 (e Java 7) per ARM. Usa il collegamento da questa pagina per ottenere la versione Java attualmente migliore per il tuo Raspberry Pi.

Questo dovrebbe funzionare anche:

sudo apt-get update
sudo apt-get install oracle-java8-jdk

0

Non so come funziona con una JVM, ma so che il SoC ARM sul Raspberry Pi può eseguire il bytecode Java stesso.

Non ho il Raspberry Pi per testare JRE. Quindi speculo.

Usa: cat /proc/cpuinfo/e vedi se java potrebbe supportare il Raspberry Pi.


1
Questo javaflag /proc/cpuinfoindica che la CPU supporta l'estensione Jazelle. Puoi leggere su questo su Wikipedia .
Krzysztof Adamski,

Il problema con Jazelle è che nessuna delle JVM open source può usarlo.
Alex Chamberlain,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.