OpenJDK kompiluje się i działa na Pi z powodzeniem, ale jedyną wersją, którą znalazłem, jest wersja bez JIT. Oracle zapewnia taki JDK dla innych wersji ARM, ale nie ARMv6. Czy jest jakiś sposób, aby w międzyczasie uruchomić taką wersję JDK?
java
software-development
berry120
źródło
źródło
Odpowiedzi:
Oracle wydało teraz (od Java 7u6) JDK z JIT, który działa na Pi z pełną obsługą AWT / Swing. Obsługuje również JVMTI (kakao ma tylko częściowe wsparcie.) Informacja prasowa tutaj .
Sprawdziłem, że działa z Greenfoot i zapewnia ogromne przyspieszenie w porównaniu do zwykłej (nie JIT) wersji OpenJDK.
W chwili pisania tego tekstu nie obsługuje twardego zmiennoprzecinkowego, więc nie będzie działać z dystrybucjami takimi jak Raspbian, które używają tylko twardego zmiennoprzecinkowego - jest to jednak planowane w przyszłej wersji.AKTUALIZACJA: Jak zauważył Darren, wersja ARM została wydana dla ARM w formie wersji zapoznawczej JDK8, można ją znaleźć tutaj .
AKTUALIZACJA 2: Hard float jest teraz obsługiwany w JDK7.
źródło
Pakiet icedtea-6-jre-cacao zawiera kompilator JIT i podobno działa na RasPi .
Sam tego nie próbowałem.
źródło
Oracle wydało teraz wersję programistyczną Java JDK8 dla ARM, która w szczególności zawiera obsługę twardego Raspbian na Pi. Działa i stwierdziłem, że jest on około 20 razy szybszy niż OpenJDK dla niektórych obliczeń intensywnych zmiennoprzecinkowych. http://jdk8.java.net/fxarmpreview/
źródło
Na Rasbian możesz używać JamVM, który zawiera „JIT-kopiowanie kodu”
JamVM jest obecnie najszybszym i najbardziej stabilnym JVM, który zawiera JIT na Rasbian.
Avian jest również obsługiwany w systemie Rasbian, który obejmuje również JIT. Będziesz musiał zbudować go ręcznie: http://labb.zafena.se/?p=630
Oczekuję, że Avian pojawi się w języku Raspbian, gdy zostanie zbudowany ze źródła SID Debiana. Avian obecnie istnieje w eksperymentalnym SID Debiana wewnątrz
jvm-7-avian-jre
pakietu.Zarówno Avian, jak i JamVM działają w połączeniu z klasami OpenJDK-7, więc można ich używać do przyspieszenia wszystkich programów uruchamiających Java, takich jak Java i Java. plik
/etc/java-7-openjdk/jvm-armhf.cfg
określa, która JVM jest domyślnie używana w openjdk 7 na Rasbian.Możesz także powiedzieć programom uruchamiającym Java indywidualnie, z którego programu JVM korzystać:
źródło
Oracle wydało pełną wersję (nie jest już podglądem) Java 8 i Java 7 dla architektury ARM Raspberry Pi: link do Java 8 .
Możesz także użyć z wiersza poleceń:
źródło
Możliwe jest połączenie OpenJDK 7 z JVM Java JDK8, który zawiera JIT, aby uzyskać konfigurację z obsługą X11 i działaniem Swing / AWT.
Interfejs JNI, z wyjątkiem „Classpath”, wyraźnie oddziela JVM i klasy środowiska wykonawczego. Jeśli używasz Hotspot klienta (jre / lib / arm / client / libjvm.so) z podglądu JavaFX 8 w połączeniu ze skompilowanymi przez Rasbian klasami środowiska wykonawczego OpenJDK 7 Runtime i programami uruchamiającymi java (/ usr / lib / jvm / java-7- openjdk-armhf) otrzymasz następującą konfigurację i korzyści:
Ustawiać:
Pobierz jdk-8-ea-b36e-linux-arm-hflt-29_nov_2012.tar.gz z http://jdk8.java.net/fxarmpreview/index.html
źródło