Fråga:
How can I run Java software?
Darren Wilkinson
2012-06-13 02:01:17 UTC
view on stackexchange narkive permalink

Vad är det bästa sättet att köra Java-kod på RP? Fungerar installationen av OpenJDK från Debian / Fedora repos OK? Finns det justeringar man bör använda för förbättrad prestanda? Finns det också en "lättvikts" JVM tillgänglig för RP som går bättre / snabbare än standard JVM från OpenJDK? Om så är fallet, hur erhålls och installeras detta?

Observera att OpenJDK inte har en ARM JIT än, vilket gör det långsamt.
Det verkar som att ARM JIT av Oracle inte är en del av OpenJDK.
Sju svar:
#1
+15
Maks
2012-06-13 03:17:33 UTC
view on stackexchange narkive permalink

För den "lätta" delen av din fråga finns det ett antal mindre JVM: er som du kanske vill överväga.

Till exempel var JamVM ursprungligen utformad för att fungera i små system som RP och båda it och Cacao (en annan mindre JVM) finns som paket i debian:

  icedtea-7-jre-jamvmicedtea-7-jre-cacao  

dock båda använder open-jdk klassbiblioteken AFAIK, och det är klassbiblioteken som är den stora delen (diskavtrycksmässigt) av att installera en JRE.

#2
+11
Jivings
2012-06-13 03:08:25 UTC
view on stackexchange narkive permalink

Installation från förvaret bör fungera bra på Debian:

  sudo apt-get cleansudo apt-get updatesudo apt-get install openjdk-6-jre  

Java verkar inte vara tillgängligt på Arch repo.

Kan någon redigera med information för Fedora, jag har ingen kunskap om den distro.

#3
+3
Dan B
2012-07-24 09:38:40 UTC
view on stackexchange narkive permalink

Jag har sett stort intresse för att köra olika nedskärda JVM-filer som körs på hallon pi men få människor har tittat på att kompilera java direkt till maskinkod. http://gcc.gnu.org/java/ är värd för en kompilator som kan ge dig maskinkod från Java eller från Java-byte-kod. Projektet som jag skulle få använda gcj för slutades med att skrotas innan det kom av marken men kompilatorn faktureras som en bra passform för inbäddade system så det borde passa hallon pi bara bra.

Halvvägs ner på sidan i det här forumet finns det en väldigt fin graf som gjorts av någon som jämför den relativa prestandan för olika JVM och gcj http://www.raspberrypi.org/phpBB3/viewtopic.php?t=6330&p = 124107. Tänk på att dessa riktmärken gjordes innan den drastiska prestationsökningen inkluderades i den senaste raspbiska distributionen.

Nu, sex månader senare, har du praktisk erfarenhet av att göra detta på hallonet?
#4
+2
berry120
2012-06-13 03:11:43 UTC
view on stackexchange narkive permalink

Det finns ingen speciell lättvikts-JDK som jag känner till, men den normala openjdk från repo verkar fungera ok-ish för mig.

Jag säger ok- ish - det finns inga problem med funktionaliteten i sig, åtminstone ingen som jag har hittat. Det inkluderar anspråksfulla applikationer, Swing / AWT verkar också fungera bra (har inte provat JavaFX.) Prestanda å andra sidan är inte något att komma hem om på grund av brist på JIT (se den här frågan.)

#5
+2
Michael O'Brien
2012-12-11 10:47:12 UTC
view on stackexchange narkive permalink

Oracle har nådigt porterat en version av Java 7 SE utan huvud till ARM för Raspberry PI. Jag kopierade över klassfiler från en del av min icke-EE-konsolbaserade kod och den går bra - men ungefär 9 gånger långsammare än ett Pentium IV vid 3GHz. Se http://eclipsejpa.blogspot.ca/2012/10/java-se-7-embedded-on-raspberry-pi.html

http://www.oracle.com/technetwork/articles/java/raspberrypi-1704896.html

#6
+1
Simulant
2014-05-22 14:37:46 UTC
view on stackexchange narkive permalink

Oracle släppte Java 8 (och Java 7) för ARM . Använd länken från denna sida för att få den bästa Java-versionen för din Raspberry Pi.

Detta bör också fungera:

  sudo apt- få uppdateringarudo apt-get install oracle-java8-jdk  
#7
  0
Ranomier
2012-10-05 17:22:30 UTC
view on stackexchange narkive permalink

Jag vet inte hur det fungerar med en JVM, men jag vet att ARM SoC på Raspberry Pi kan köra Java-bytecoden själv.

Jag har inte Raspberry Pi för att testa JRE. Så jag spekulerar.

Använd: cat / proc / cpuinfo / och se om java kan stödja Raspberry Pi.

Denna "java" -flagga i "/ proc / cpuinfo" betyder att CPU stöder Jazelle-tillägget. Du kan läsa om detta på [wikipedia] (http://en.wikipedia.org/wiki/Jazelle).
Problemet med Jazelle är att ingen av JVM: erna med öppen källkod kan använda den.


Denna fråga och svar översattes automatiskt från det engelska språket.Det ursprungliga innehållet finns tillgängligt på stackexchange, vilket vi tackar för cc by-sa 3.0-licensen som det distribueras under.
Loading...