Qual é a melhor maneira de executar o código Java no RP? A instalação do OpenJDK a partir dos repositórios Debian / Fedora funciona bem? Existem ajustes que se deve usar para melhorar o desempenho? Além disso, existe uma JVM "leve" disponível para o RP que é executada melhor / mais rapidamente do que a JVM padrão do OpenJDK? Em caso afirmativo, como isso é obtido e instalado?
35
Respostas:
Para a parte "leve" da sua pergunta, há várias JVMs menores que você pode querer considerar.
Por exemplo, o JamVM foi originalmente projetado para funcionar em pequenos sistemas como o RP e ele e o Cacao (outra JVM menor) estão disponíveis como pacotes no debian:
embora ambos usem as bibliotecas de classes open-jdk AFAIK e as bibliotecas de classes que são a grande parte (em termos de pegada de disco) da instalação de um JRE.
fonte
A instalação a partir dos repositórios deve funcionar bem no Debian:
Java não parece estar disponível no repositório do Arch.
Alguém pode editar com informações para o Fedora, não tenho conhecimento dessa distribuição.
fonte
Eu tenho visto muito interesse em executar várias JVMs reduzidas em raspberry pi, mas poucas pessoas procuraram compilar java diretamente no código da máquina. http://gcc.gnu.org/java/ hospeda um compilador que pode fornecer código de máquina a partir de java ou de código de java byte. O projeto para o qual eu iria usar o gcj acabou sendo descartado antes de decolar, mas o compilador é considerado um bom ajuste para sistemas embarcados, de modo que ele se adapte perfeitamente ao raspberry pi.
No meio da página deste fórum, há um gráfico muito bom que alguém fez comparando o desempenho relativo de várias JVMs, bem como o gcj http://www.raspberrypi.org/phpBB3/viewtopic.php?t=6330&p=124107 . Lembre-se de que esses benchmarks foram feitos antes do drástico aumento de desempenho incluído na mais recente distribuição raspbian.
fonte
Não tenho nenhum JDK leve especial que eu conheça, mas o openjdk normal do repositório parece funcionar bem para mim.
Eu digo ok - não há nenhum problema com a funcionalidade em si, pelo menos nenhuma que eu encontrei. Isso inclui aplicativos inesgotáveis, o Swing / AWT também parece funcionar bem (ainda não experimentou o JavaFX.) Por outro lado, o desempenho não é algo para se preocupar devido à falta de JIT (consulte esta pergunta ).
fonte
A Oracle portou graciosamente uma versão do Java 7 SE decapitado para o ARM para o Raspberry PI. Copiei os arquivos de classe de alguns dos meus códigos baseados em console não EE e ele funciona bem - mas cerca de 9 vezes mais lento que um Pentium IV a 3GHz. consulte http://eclipsejpa.blogspot.ca/2012/10/java-se-7-embedded-on-raspberry-pi.html
http://www.oracle.com/technetwork/articles/java/raspberrypi-1704896.html
fonte
A Oracle lançou o Java 8 (e o Java 7) para
ARM
. Use o link desta página para obter a melhor versão Java atualmente para o seu Raspberry Pi.Isso também deve funcionar:
fonte
Não sei como funciona com uma JVM, mas sei que o ARM SoC no Raspberry Pi pode executar o bytecode Java em si.
Eu não tenho o Raspberry Pi para testar o JRE. Então eu especulo.
Use:
cat /proc/cpuinfo/
e veja se o java pode suportar o Raspberry Pi.fonte
java
sinalizador/proc/cpuinfo
significa que a CPU suporta a extensão Jazelle. Você pode ler sobre isso na wikipedia .