Javaソフトウェアを実行するにはどうすればよいですか?


35

RPでJavaコードを実行する最良の方法は何ですか?Debian / FedoraリポジトリからOpenJDKをインストールしても問題ありませんか?パフォーマンスを改善するために使用すべき調整はありますか?また、OpenJDKの標準JVMよりも優れた/高速で実行されるRP用の「軽量」JVMがありますか?ある場合、これはどのように取得およびインストールされますか?


1
OpenJDKにはまだARM JITがないため、遅くなります。
トールビョーンラヴンアンデルセン

OracleのARM JITはOpenJDKの一部ではないようです。
トールビョーンラウンアンデルセン

回答:


15

質問の「軽量」の部分については、検討する必要があるかもしれない小さなJVMがいくつかあります。

たとえば、もともとJamVMはRPなどの小さなシステムで動作するように設計されており、それとCacao(別の小さなJVM)の両方がdebianでパッケージとして利用可能です。

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

ただし、両方ともopen-jdkクラスライブラリAFAIKと、JREのインストールの大きな部分(ディスクフットプリント)であるクラスライブラリを使用します。


11

リポジトリからインストールすると、Debianで正常に動作するはずです。

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

JavaはArchリポジトリで利用できないようです。

誰かがFedoraの情報を編集してもらえますか、私はそのディストリビューションの知識がありません。


3

raspberry piで動作するさまざまなJVMを実行することに多くの関心を持っていますが、Javaをマシンコードに直接コンパイルすることを検討している人はほとんどいません。 http://gcc.gnu.org/java/は、JavaまたはJavaバイトコードからマシンコードを提供できるコンパイラをホストします。私がgcjを使用する予定だったプロジェクトは、地面に落ちる前に廃棄されましたが、コンパイラは組み込みシステムに適していると請求されているので、ラズベリーパイにうまく合うはずです。

このフォーラムのページの下半分には、gcj http://www.raspberrypi.org/phpBB3/viewtopic.php?t=6330&p=124107と同様に、さまざまなJVMの相対的なパフォーマンスを比較した非常に優れたグラフがあります。これらのベンチマークは、最新のraspbianディストリビューションに劇的なパフォーマンス向上が含まれる前に作成されたことに留意してください。


6か月後、Raspberryでこれを実際に体験したことがありますか?
トールビョーンラウンアンデルセン

2

そこには特別な軽量JDKは、私の知っていることだありませんが、レポから通常のOpenJDKが動作しているようですOKっぽいを私のため。

私は大丈夫です -機能自体に問題はありません、少なくとも私が見つけたものはありません。それはスイング/ AWTもうまく動作するようですheadfulアプリケーションを含み(JavaFXのを試していない。)一方、性能は、JITの不足のためにおよそ右の家には何もないです(参照この質問を。)


2

Oracleは、Raspberry PIのJavaにヘッドレスでJava 7 SEをARMに移植しました。EE以外のコンソールベースのコードの一部からクラスファイルをコピーすると、正常に動作しますが、3GHzのPentium IVよりも約9倍遅くなります。http://eclipsejpa.blogspot.ca/2012/10/java-se-7-embedded-on-raspberry-pi.htmlを参照して ください

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


1

Oracleは、Java 8(およびJava 7)をリリースしましたARMこのページのリンクを使用して、Raspberry Piに現在最適なJavaバージョンを入手してください。

これも動作するはずです:

sudo apt-get update
sudo apt-get install oracle-java8-jdk

0

JVMでどのように機能するかはわかりませんが、Raspberry Pi上のARM SoCがJavaバイトコード自体を実行できることは知っています。

JREをテストするためのRaspberry Piがありません。だから推測する。

使用:cat /proc/cpuinfo/javaがRaspberry Piをサポートできるかどうかを確認します。


1
このjavaフラグは/proc/cpuinfo、CPUがJazelle拡張機能をサポートしていることを意味します。これについてはウィキペディアで読むことができます。
レジストフアダムスキー

Jazelleの問題は、オープンソースのJVMがそれを使用できないことです。
アレックスチェンバレン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.