はじめに
少し古いですが、ベンチマークの結果が有ります。
Java On Raspberry Pi Performance - Resin 4.0 Wiki
http://wiki4.caucho.com/Java_On_Raspberry_Pi_Performance
レスポンスが必要な場面で頻繁にJVMを使うのであれば、HotSpotVMを使わない手はありません。
OracleはJava SEを配布していますのでそれを使いましょう。
以前、Oracle(Sun)は戦略上、ARMにはJava SEではなくJava ME用のJVMを配布していました。
最近、組み込み向けのラインナップをJava SEに統合し省サイズのJava SE Embeddedを配布しています。
試していませんが、glibcなど必要なライブラリがあればRaspbian以外のLinuxディストリビューションでも問題ないとおもいます。
OpenJDK: Vesrionの確認
javaコマンドでversionを確認しましょう。
$ java -version
OpenJDK Runtime Environment (IcedTea 2.5.1) (7u65-2.5.1-2~deb7u1+rpi1)
OpenJDK Zero VM (build 24.65-b04, mixed mode)
「OpenJDK Zero VM」は、JITがないOpenJDK実装です。
さっそく、Oracle JDKを入れてみましょう。
JDK選択とダウンロード
参考文献のJDK配布先からダウンロードしてください。
ダウンロードには、ブラウザが必要になりますので、CUIのlinksなどを使ってダウンロードしましょう。
別PCのブラウザからダウンロードして、共有したり、scpなどでコピーしたりするのもよいでしょう。
取得の手順は、いつもどおりライセンスを読んでラジオボタンを承認に変更して、ダウンロードとなります。
Raspberry PiのCPUは、Hard Floatに対応してますので、Hard Float版をダウンロードしましょう。
Raspberry Pi上のアプリケーション起動速度に関しては、
JDK7 > JDK8
となっています。
必要な機能に応じてダウンロードして下さい。
jdk-7u60-linux-arm-vfp-hflt.tar.gzを展開するとjdk1.7.0_60フォルダが出来ますので、
ユーザディレクトリ内か全体か検討して配置します。
全体の場合、ベンダツールは、sudoコマンドなどで /opt フォルダに展開する場合が多いです。
パスを通す必要がある場合は、設定しましょう。
export JAVA_HOME=/opt/opt/jdk1.7.0_60
PATH=$JAVA_HOME/bin:$PATH
alternatives
デフォルトに設定したい場合、alternativesコマンドで入れ替えることも出来ます。
#alternativesを確認
sudo update-alternatives --config java
#最後の数字は空いているところに
sudo update-alternatives --install "/usr/bin/java" "java" "/opt/opt/jdk1.7.0_60/bin/java" 1
sudo update-alternatives --install "/usr/bin/java" "java" "/opt/opt/jdk1.8.0_06/bin/java" 2
#再度確認切り替え
sudo update-alternatives --config java
終わりに
それでは、快適なRaspberry PiのJVMライフを楽しみましょう。
ちなみに、clojureのREPL起動にはHotSpotVMでも18秒ぐらいかかるので、dripコマンドなどで起動済みにしておかないと辛いです。
参考文献
Embedded: Resin On Raspberry Pi - Resin 4.0 Wiki
http://wiki4.caucho.com/Embedded:_Resin_On_Raspberry_Pi
Java On Raspberry Pi Performance - Resin 4.0 Wiki
http://wiki4.caucho.com/Java_On_Raspberry_Pi_Performance
JDK配布元
JDK7 for ARM Download
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-arm-downloads-2187468.html
JDK 8 for ARM - Download
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-arm-downloads-2187472.html
Java SE Embedded - Downloads | Oracle Technology Network | Oracle
http://www.oracle.com/technetwork/java/embedded/embedded-se/downloads/index.html