Resources

Java SE Embeddedドキュメント

Java Logo

 

Red Triangle  Java SE Embeddedドキュメント

Java Platform, Standard Edition(Java SE)は、アプリケーションの開発およびデプロイのための完全なプラットフォームです。Java SE Embeddedは、Java SEに基づいており、特定の機能を提供してEmbeddedシステムをサポートします。

README - Java SE Embedded 7 Update 51




リリース・ノート - Java SE Embedded 7 Update 51


Java SEプラットフォーム製品のサード・パーティ・ライセンスREADMEファイル

Java SE Embeddedの全リリースの最小プラットフォーム要件については、システム要件のページを参照してください。 

詳細な要件を知らせたり、ライセンスや実装への支援を求めるには、アンケートを送信してください。

Java SE Embeddedドキュメント・アーカイブ

                     

技術関連記事
Getting Started with Java SE Embedded on the Raspberry Pi
 
  
Red Triangle  Java SE Embeddedシステム要件

Oracle Java SE Embeddedは、従来のJava SEデスクトップおよびサーバー・プラットフォームをサポートします。サポートされるこれらのプラットフォームは、以下に記載されています:Oracle JDK 7 and JRE 7 Certified System ConfigurationsおよびOracle Certified System Configurations - Java SE 6

また、Java SE Embeddedは、特に組込み製品を対象としたプラットフォームをサポートします。これらのプラットフォームは、ARM、Power Architectureおよびx86です。その他のプラットフォームのカスタム・ビルドについては、弊社のエンジニアリング・サービス・チームが開発します。詳細は、こちらを参照してください。以下のサマリーは、現在入手できるOracle Java SE Embeddedリリースでサポートされるシステム構成を示しています。

 

ARM EABI、リトル・エンディアン、Linux上のJava SE Embedded 7

CPU ARM v5 ARM v6/v7 ARM v6/v7

OS* Linuxカーネル2.6.28以降、glibc 2.9以降 Linuxカーネル2.6.28以降、glibc 2.9以降 Linuxカーネル2.6.28以降、glibc 2.9以降

FP SoftFP1 VFP、SoftFP ABI2
VFP、HardFP ABI3
VFP、SoftFP ABI2
VFP、HardFP ABI3

ヘッドフル なし なし あり。X11R6以降

RAM Java用に32MB以上 Java用に32MB以上 Java用に64MB以上

ROM/フラッシュ/ディスク Java用に44MB以上 Java用に43MB以上
Java用に45MB以上 - サーバー・コンパイラ4
Java用に52MB以上



Power Architecture、ビッグ・エンディアン、Linux上のJava SE Embedded 7

CPU e600コア e500v2コア

OS* Linuxカーネル2.6.28以降、glibc 2.9以降 Linuxカーネル2.6.23以降、glibc 2.5以降

FP Classic HW FP Embedded FP

ヘッドフル なし なし

RAM Java用に32MB以上 Java用に32MB以上

ROM/フラッシュ/ディスク Java用に45MB以上 Java用に45MB以上


  

x86 Linux上のJava SE Embedded 7

CPU x86

OS* Linuxカーネル2.6.28以降、glibc 2.9以降

ヘッドフル なし

RAM Java用に32MB以上

ROM/フラッシュ/ディスク Java用に43MB以上


  

 
*  上記のカーネルおよびglibcの最小バージョンは、代表的なシステムでのテストに基づいています。ただし、一部の組込みボード、特に新しいマルチコア・システムでは、上記リストの最小バージョンよりも新しいカーネルやglibcのバージョンを必要とする場合があります。システム・ベンダー、Linuxベンダー、汎用カーネル、glibc、サード・パーティ・ライブラリのリリースおよびパッチ情報を含むプラットフォーム・ソースをチェックして、プラットフォームに適切なカーネル、glibcおよびサード・パーティ・ライブラリのバージョンを実行していることを確認してください。
1   使用するGCCオプションの例:-msoft-float
2   使用するGCCオプションの例:-mfloat-abi=softfp -mfpu=vfp
3   使用するGCCオプションの例:-mfloat-abi=hard -mfpu=vfp
4   ARM v7のみ 


Red Triangle  Java SE Embedded FAQ

 Java SEの組込み使用に関するよくある質問への回答は、以下のとおりです。

このページの前半にまとめてあります。 

Q2.Java SE Embeddedと標準Java SEの機能上の違いを教えてください。

Java SE Embeddedは、Java SEから派生しており、Java SEと同じプラットフォームおよび機能をサポートしています。また、組込み市場向けの特定の機能とサポートを提供します。現在、これらの組込み専用の機能およびサポートには、追加プラットフォーム、フットプリントの小さいJRE、ヘッドレス構成、およびメモリの最適化が含まれています。すべてのJava SE Embedded製品は、Java SEに準拠しています。

組込み専用のSE機能

組込みシステムは、いくつかの主要な領域において、従来のJava SEデスクトップおよびサーバー構成と異なる場合があります。たとえば、RAM、ローカル永続ストレージ(ディスク、ROM、コンパクト・フラッシュ)、KVMリソース(キーボード、ビデオ、マウス)、プラットフォーム・サポート(CPUおよびOS)などの領域です。Java SE Embeddedは、それぞれの領域に対して、組込みデバイス専用のサポートを提供します。

ヘッドレス・サポート
Java SE Embeddedは、ディスプレイ・モニター、キーボード、マウスを持たない組込みデバイスをサポートするためにヘッドレス・オプションを提供しています。キーボードやマウスからの入力を受信し、ディスプレイにレンダリングするための機能は、排除されました。印刷やバイナリ・ファイルの生成を可能にする基盤グラフィック・サポートを含むJava SEの残りの機能は、まだ使用できます。

フットプリントの小さいJRE
Java SE Embeddedは、圧縮の追加、およびオプション・ファイルの削除により、一部の組込みシステムに必要とされる、フットプリントが縮小されたJREを提供できます。削除ファイルには、ヘッドレスでは不要なファイルに加えて、ツールや文字コンバータなどの多数のファイルが含まれています。この縮小によって、フットプリントが完全なJREの半分未満となるJREが生成され、Java SE 5.0ではわずか30MBとなります。

JREサイズは、リリースおよびプラットフォームによって異なりますが、ここでは、Linux x86用の5.0 Update 6を使用した例を示します。

 
JRE ROMフットプリント
完全なJREのインストール
68MB
フットプリントの小さいJREのインストール
29.5MB
 

フットプリントの小さいJREも、TCKに準拠しています。

メモリの最適化
Java SE Embeddedでは、メモリのエルゴノミクスやその他の修正によって、組込みデバイス向けの処理が強化されています。

その他のメモリ節減
Java SE Embeddedは、JARファイルのロード時にMMAPの使用を排除し、静的なスレッド表を削除することで、12MBのRAMを節約します。

追加プラットフォームのサポート

Java SE Embeddedは、従来のJava SEデスクトップおよびサーバー・プラットフォームをサポートします。これには、以下のものが含まれます。

CPU: x86、x64、SPARC 32-bitおよび64-bit
OS: Linux、Windows、およびSolaris


また、ARMやPower Architectureマイクロプロセッサなどの組込み専用プラットフォームをサポートしています。必要なプラットフォームが含まれていない場合は、こちらからお問い合わせください。

Q3.Java MEとの違いを教えてください。

Java MEとJava SE Embeddedは、組込み市場において異なるセグメントを対象としています。Java ME CLDCおよびCDC製品は、携帯電話、ハンドセット、メディア・プレーヤなどのリソースに制約があるデバイス向けに設計されています。CLDCおよびCDCのAPIにはJava SEよりも多くの制限がありますが、ME製品では、フットプリントの小さいデバイスをサポートできます。Java SE Embeddedは、Java SEの豊富な機能を提供しており、ハイエンドの組込みデバイスを対象としています。一般に、これらのデバイスは、少なくとも32MBのRAMおよび32MBのROMを備えている必要があります。

Q4.Java SE Embeddedがサポートするプラットフォームを教えてください。

Java SEは30近くの異なるISA/OSプラットフォームでサポートされており、デスクトップおよびサーバー目的以外に、組込み目的でも使用できます。ハードウェア(ISA)プラットフォームには、x86、x64、SPARC(32ビットおよび64ビット)が含まれます。サポートされるOSプラットフォームは、Linuxです。Java SE Embeddedリリースは、組込み使用専用にカスタマイズされ(フットプリントの縮小など)、この用途のみで商用にデプロイできる点で、Java SEの特別なリリースです。Java SE Embeddedをサポートしている一般的なハードウェア・プラットフォームには、ARM、Power Architecture、x86などがあります。これらのプラットフォーム・アーキテクチャ向けにサポートされているOSは、Linuxです。ヘッドフル・バージョンのJava SE Embeddedは、ARMv7/Linuxで使用できます。ヘッドレス・バージョンは、サポートされるすべてのLinuxプラットフォームで使用できます。詳しくは、Java SE Embeddedのシステム要件を参照してください。

Q5.サポートが必要なプラットフォームが一覧にありません。どうすれば良いですか。

プロジェクトのハードウェア(CPU、メモリ)要件やOS要件が異なる場合は、こちらからお問い合わせください。他の製品やエンジニアニング・サービスなどのオプションをソリューションとともに提供できます。

Q6.Java SE EmbeddedのRAM要件およびROM/ディスクの要件を教えてください。

メモリ・フットプリント要件は、プラットフォーム(OS、スワッピングなど)、SEリリース、SE機能(ヘッドレスか否かなど)、およびアプリケーションによって異なります。RAM要件およびROM/ディスク/フラッシュ要件は、このページの前半にまとめられています。 

Q7.Java SE Embeddedのパフォーマンスは、C/C++と比較してどのようなものですか。

パフォーマンスは最終的にアプリケーションによって異なりますが、Java SEアプリケーションのパフォーマンスは、C/C++アプリケーションと同程度です。多くのサード・パーティのテストでは、JavaのパフォーマンスはC/C++と同等か、または優れていることが示されています。Javaの動的なJust-In-Timeコンパイルおよび積極的なインライン化により、静的なC/C++コンパイルよりも最適化に適したコードが生成されます。

Q8.ネイティブ・ドライバとアプリケーションへのアクセス方法を教えてください。

Java SE仕様は、Java Native Interface(JNI)と呼ばれる、ネイティブ・ドライバおよびC/C++関数へのインタフェースを提供しています。JNIは、ネイティブ・コード周辺のJava認識型のラッパーと、ラッパーを相互参照するための新しいヘッダー・ファイルを作成し、ネイティブ・コードによってパラメータの受け渡しを可能にするJavaプログラムからの呼出しを行うことで機能します。

Q9.組込み使用向けのJavaアプリケーションをデバッグする方法を教えてください。

JavaアプリケーションをデバッグするためのAPIおよびツールが一式提供されており、ローカル・デバッグとリモート・デバッグの両方がサポートされています。可観測性、管理およびパフォーマンス・プロファイリングのためのAPI、ツールおよびリソースも提供されています。これらすべての作業は、Troubleshooting Java SE Webページから始めることをお薦めします。

Q10.Java SE Embeddedのライセンスについて教えてください。

Java SEは、組込みアプリケーションの開発に無償で使用できます。組込みデバイスにおいて、または組込みベースのシステムの一部としてJava SEをデプロイする場合は、手頃な価格のライセンスが提供されています。デプロイの準備が完了している場合、またはデプロイは完了したが正しいライセンスを所有しているかどうか不明な場合は、こちらからお問い合わせください。

Q11.Java SE Embeddedのデバイスまたは機能をデプロイする場合、ロイヤルティが必要ですか。

はい。オラクルのJava SE向けのライセンスでは、汎用のデスクトップまたはサーバー向けにJava SEを自由に使用できます。Java SEが、何らかのハードウェアを含むか、または何らかのハードウェアを制御する専用ソリューションの一部としてバンドルされている場合、そのJava SEは組込みアプリケーションである可能性が高く、少額のロイヤルティの支払いが発生します。

Q12.Java SE Embeddedを含む組込み製品にかかるロイヤルティの金額を確認する方法を教えてください。

こちらから問い合わせて、専門OEM販売チームとの予約をお取りください。製品に対する価格決定に必要な情報が得られます。オラクルの組込みロイヤルティ・モデルでは、製品の価格と数量に合わせたロイヤルティ・コストが設定されるため、コストを低く抑えながら、多様なSE対応製品でJava SE Embeddedを使用できます。

Q13.Java SE Embedded向けの組込みアプリケーションを開発する場合、費用を支払う必要はありますか。

いいえ。Java SE Embeddedを使用した開発は、組込み目的でなくても無償です。作業に最適なのはNetBeansツールです。開発フェーズでオラクルとロイヤルティ契約を結んでいただく必要がありますが、実際に製品を出荷するまでロイヤルティの支払いは発生しません。

Q14.開始方法を教えてください。

開始方法は簡単です。おもなステップは次の3つです。

  1. ダウンロード - 始めにダウンロード・ページにアクセスし、組込み専用プラットフォームまたはすべての(デスクトップ、サーバーを含む)Java SEプラットフォームから最新のJava SE Embeddedリリースを選択します。必要なプラットフォームが含まれていない場合は、こちらからお問い合わせください。
  2. 開発 - プラットフォーム上でJava SE Embeddedを試してみます。Java SE Embeddedを使用して、組込みアプリケーションを開発します。開発は無償です。Javaの扱いが初めてである場合も、チュートリアル、ブループリント、ドキュメント、トレーニングなどのオラクルからの支援だけでなく、Javaコミュニティからも広範なリソースが提供されています。
  3. デプロイ - デプロイの準備は整いましたか。オラクルのライセンス、サポートおよびパートナー・プログラムについては、こちらからお問い合わせください。