Bagaimana saya bisa menjalankan perangkat lunak Java?

35

Apa cara terbaik untuk menjalankan kode Java pada RP? Apakah menginstal OpenJDK dari repo Debian / Fedora berfungsi dengan baik? Apakah ada tweak yang harus digunakan untuk meningkatkan kinerja? Juga, apakah ada JVM "ringan" yang tersedia untuk RP yang berjalan lebih baik / lebih cepat dari JVM standar dari OpenJDK? Jika demikian, bagaimana ini diperoleh dan diinstal?

Darren Wilkinson
sumber
1
Perhatikan bahwa OpenJDK belum memiliki ARM JIT, membuatnya lambat.
Thorbjørn Ravn Andersen
Tampaknya ARM JIT oleh Oracle bukan bagian dari OpenJDK.
Thorbjørn Ravn Andersen

Jawaban:

15

Untuk bagian "ringan" dari pertanyaan Anda, ada sejumlah JVM kecil yang mungkin ingin Anda pertimbangkan.

Misalnya JamVM pada awalnya dirancang untuk bekerja dalam sistem kecil seperti RP dan keduanya, serta Cacao (JVM lain yang lebih kecil) tersedia sebagai paket dalam bahasa debian:

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

meskipun keduanya menggunakan pustaka kelas open-jdk AFAIK, dan pustaka kelasnya yang merupakan bagian besar (disk footprint bijaksana) menginstal JRE.

Maks
sumber
11

Menginstal dari repositori akan berfungsi dengan baik di Debian:

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

Java sepertinya tidak tersedia di Arch repo.

Dapatkah seseorang tolong edit dengan informasi untuk Fedora, saya tidak memiliki pengetahuan tentang distro itu.

Jivings
sumber
3

Saya telah melihat banyak minat dalam menjalankan berbagai pengurangan JVM yang berjalan pada raspberry pi tetapi beberapa orang telah melihat kompilasi java langsung ke kode mesin. http://gcc.gnu.org/java/ host kompiler yang dapat memberi Anda kode mesin dari java atau dari kode byte java. Proyek yang saya akan gunakan gcj untuk akhirnya dihapus sebelum turun dari tanah tetapi kompiler ditagih sebagai cocok untuk sistem tertanam sehingga harus sesuai dengan pi raspberry dengan baik.

Setengah jalan turun halaman di forum ini ada grafik yang sangat bagus dibuat seseorang membandingkan kinerja relatif berbagai JVM serta gcj http://www.raspberrypi.org/phpBB3/viewtopic.php?t=6330&p=124107 . Perlu diingat tolok ukur ini dibuat sebelum peningkatan kinerja drastis termasuk dalam distro raspbian terbaru.

Dan B
sumber
Sekarang, enam bulan kemudian, apakah Anda memiliki pengalaman langsung dalam melakukan ini di Raspberry?
Thorbjørn Ravn Andersen
2

Tidak ada JDK ringan khusus yang saya tahu, tetapi openjdk normal dari repo tampaknya berfungsi ok untuk saya.

Saya katakan ok-ish - tidak ada masalah dengan fungsi per-se, setidaknya tidak ada yang saya temukan. Itu termasuk aplikasi headful, Swing / AWT juga tampaknya berfungsi dengan baik (belum mencoba JavaFX.) Di sisi lain, kinerja tidak ada artinya karena kurangnya JIT (lihat pertanyaan ini .)

berry120
sumber
1

Oracle merilis Java 8 (dan Java 7) untuk ARM. Gunakan Tautan dari Halaman ini untuk mendapatkan versi Java terbaik saat ini untuk Raspberry Pi Anda.

Ini juga harus bekerja:

sudo apt-get update
sudo apt-get install oracle-java8-jdk
Tiruan
sumber
0

Saya tidak tahu cara kerjanya dengan JVM, tapi saya tahu ARM SoC pada Raspberry Pi dapat menjalankan bytecode Java itu sendiri.

Saya tidak punya Raspberry Pi untuk menguji JRE. Jadi saya berspekulasi.

Gunakan: cat /proc/cpuinfo/dan lihat apakah java dapat mendukung Raspberry Pi.

Ranomier
sumber
1
Ini javabendera di /proc/cpuinfoberarti bahwa CPU mendukung ekstensi Jazelle. Anda dapat membaca tentang ini di wikipedia .
Krzysztof Adamski
Masalah dengan Jazelle adalah bahwa tidak ada JVM open source yang dapat menggunakannya.
Alex Chamberlain