OpenJDK berhasil mengkompilasi dan menjalankan Pi, tetapi satu-satunya versi yang saya temukan adalah versi tanpa JIT. Oracle menyediakan JDK untuk versi ARM lainnya, tetapi tidak untuk ARMv6. Apakah ada cara untuk mendapatkan versi JDK dan menjalankannya sementara itu?
java
software-development
berry120
sumber
sumber
Jawaban:
Oracle sekarang telah merilis (pada Java 7u6) JDK dengan JIT yang bekerja pada Pi dengan dukungan AWT / Swing penuh. Ini juga mendukung JVMTI (kakao hanya memiliki dukungan parsial.) Siaran pers di sini .
Saya telah memverifikasi bahwa ia bekerja dengan Greenfoot , dan memberikan kecepatan yang sangat besar dibandingkan dengan yang sejenis dengan build OpenJDK (non-JIT).
Pada saat penulisan ini tidak mendukung hard floating point, dan tidak akan bekerja dengan distribusi seperti Raspbian yang hanya menggunakan hard float - namun ini direncanakan untuk rilis di masa mendatang.UPDATE: Seperti yang Darren tunjukkan, versi hard float kini telah dirilis untuk ARM dalam bentuk rilis preview JDK8, Anda dapat menemukannya di sini .
UPDATE 2: Hard float sekarang didukung di JDK7.
sumber
Paket icedtea-6-jre-cacao berisi kompiler JIT, dan dilaporkan bekerja pada RasPi .
Saya belum mencobanya sendiri.
sumber
Oracle kini telah merilis pratinjau pengembang Java JDK8 untuk ARM yang secara khusus mencakup dukungan untuk Raspbian hard-float pada Pi. Ini berfungsi, dan saya telah menemukannya sekitar 20 kali lebih cepat daripada OpenJDK untuk perhitungan intensif floating point tertentu. http://jdk8.java.net/fxarmpreview/
sumber
Pada Rasbian Anda dapat menggunakan JamVM yang mencakup "kode-menyalin-JIT"
JamVM saat ini adalah JVM tercepat dan paling stabil yang mencakup JIT pada Rasbian.
Avian juga didukung pada Rasbian yang juga mencakup JIT. Anda harus membuatnya secara manual: http://labb.zafena.se/?p=630
Saya berharap Avian muncul di Raspbian ketika telah dibangun dari sumber SID Debian. Avian saat ini ada dalam eksperimen Debian SID di dalam
jvm-7-avian-jre
paket.Baik Avian dan JamVM bekerja bersama dengan kelas OpenJDK-7 sehingga Anda dapat menggunakannya untuk mempercepat semua peluncur java seperti javac dan java. file
/etc/java-7-openjdk/jvm-armhf.cfg
menentukan JVM mana yang akan digunakan secara default di dalam openjdk 7 pada Rasbian.Anda juga dapat memberi tahu peluncur java secara terpisah mana yang akan digunakan:
sumber
Oracle merilis Versi lengkap (tidak ada pratinjau lagi) Java 8 dan Java 7 untuk arsitektur ARM Raspberry Pi: tautan ke Java 8 .
Anda juga dapat menggunakan dari baris perintah:
sumber
Dimungkinkan untuk menggabungkan OpenJDK 7 dengan JVM dari Java JDK8 yang mencakup JIT untuk mendapatkan pengaturan dengan X11 yang didukung dan Swing / AWT berfungsi.
Antarmuka JNI, dengan pengecualian "Classpath", dengan jelas memisahkan kelas lingkungan JVM dan runtime. Jika Anda menggunakan Hotspot Klien (jre / lib / arm / client / libjvm.so) dari pratinjau JavaFX 8 dikombinasikan dengan Rasbian yang dikompilasi OpenJDK 7 kelas lingkungan Runtime dan peluncur java (/ usr / lib / jvm / java-7- openjdk-armhf) Anda akan mendapatkan pengaturan dan manfaat berikut:
Mendirikan:
Unduh jdk-8-ea-b36e-linux-arm-hflt-29_nov_2012.tar.gz dari http://jdk8.java.net/fxarmpreview/index.html
sumber