web-dev-qa-db-ja.com

Java Raspberry PIでの経験はありますか?

Javaアプリサーバーを実行することは可能ですか?制限はありますか?Java raspberryの開発に経験がありますか?パイ?

少なくとも、RPiに適切なJVMであれば、どれでもいいでしょう。

28
johnny-b-goode

それは絶対に可能ですが、より多くのメモリを備えた新しいバージョン(たとえば、512 MBバージョンのPi)でよりよく機能するはずです。 2012年12月に、Oracleは Java SE 8 for ARM)の開発者プレビュー をリリースしました。発表のあるブログ投稿には、始めるためのチュートリアルへのリンクが含まれています。プレーンJava SEまたはJavaFX、インターフェースのファンシー度に応じて。

  1. Quickie Guide Getting Java Embedded Running on Raspberry Pi
  2. Raspberry PiのJavaFX – 3つの簡単なステップ

Raspberry PiでのJavaFXのパフォーマンスについて懸念がある場合は、ブログの記事 "JavaFX on Raspberry Pi" をチェックしてください。JavaFXのパフォーマンスに関する情報が含まれており、ネイティブアプリケーションと比較しています。

更新:Tomcat 7をJava 8 on the Piで実行した後のテスト結果
512MBバージョンのPi(MODELL B)を入手した後、Java 8とTomcat 7.0を問題なくインストールしました。Tomcatの例は機能しており、使用することができました。問題なくTomcatマネージャーアプリケーション。

64 MBのRAMグラフィックカードに使用)でも、291 MBの空きメモリがありました(sshdが実行中):

pi@raspberrypi ~/ $ free -m
             total       used       free     shared    buffers     cached
Mem:           438        146        291          0         10         74
-/+ buffers/cache:         60        377
Swap:           99          0         99

pmapは、Tomcatプロセスによって使用されている合計192 MBを報告しました。

27
raju-bitter

Raspberry Piでは、JVM全体で185MBしか使用できません。 (ブート後、16MBからビデオ処理まで)。

次に、積極的で正確なメモリオプションを使用する必要があります(-Xmx120M -XX:MaxPermSize=55M -XX:ReservedCodeCacheSize=4M -Djava.awt.headless=true

Jetty、Spring 3、Hibernate/JPAをベースにしたアプリケーションを作成しました。デプロイ直後は、約15MBのヒープスペースと32MBの非ヒープスペースに収まります(JProfilerメモリ分析を使用)。

PermGenスペースはガベージコレクションできないため、ロードされた各クラスは永続的なメモリが失われます。多くのクラスは初期化サポートのためにのみロードされますが、永久にロードされたままになります。おそらく、tweeksは、各コンポーネントのPermGenスペースをより少なく消費することがわかります。

12
Toilal

確かにできます。 Raspberry PiでJBoss EAP(基本的にはJBoss AS 7)を実行している ブログ投稿 があります。

8

JRE 1.7のRaspberry PiでTJWSを使用していますが、非常に高速に動作し、メモリの問題はありません。

4
Dmitriy R

現在、pi上のJVMは可能ですが、Java SEエディションは見つけるのが困難です。ARM = Oracleからですが、試したことがありません(私のpiはまだその途中です)。メモリが機能する場合は、壁の後ろにあります。

Piのもう1つの制限は、使用可能なRAMです。 jbossやglassfishな​​どのアプリは、非常に制約されたデプロイメントを除いて、piが提供するよりも多くのRAM=が必要になります。

2
Joseph Ottinger
1

私は、sqliteデータベースを備えたopenjdkでTomcat7を実行しました。私のラップトップの約1/4の速度で問題なく処理されますが、jspページを開くには10〜15秒かかります。理由はまだわかりません。

0
Andrew p

Java 11とjavafxを使用したい場合、これはBellSoftのLiberica JDKで確実に可能であることがわかりました: https://bell-sw.com/pages/Java- 11.0.

インストールスクリプトとデモアプリケーションは私のブログで入手できます: https://webtechie.be/2019/04/16/pijava-overview-Java-11-and-javafx-11-on-raspberry-pi =

JDK 11.0.2をインストールするには:

# Make sure we are in the home directory
cd /home/pi

# Download the Java 11.0.2 distribution from BellSoft
wget https://download.bell-sw.com/Java/11.0.2/bellsoft-jdk11.0.2-linux-arm32-vfp-hflt.tar.gz

# Move the downloaded file to /opt
Sudo mv bellsoft-jdk11.0.2-linux-arm32-vfp-hflt.tar.gz /opt

# Use the /opt directory
cd /opt

# Untar the downloaded file
Sudo tar -xvzf bellsoft-jdk11.0.2-linux-arm32-vfp-hflt.tar.gz

# Remove the downloaded file
Sudo rm bellsoft-jdk11.0.2-linux-arm32-vfp-hflt.tar.gz

テストと実行Javaコンパイルなしのファイル:

cd /home/pi
nano HelloWorld.Java

public class HelloWorld {
    public static void main (String[] args) {
        System.out.println("Hello World");
    }
}

/opt/jdk-11/bin/Java /home/pi/HelloWorld.Java
Hello World
0
Frank