Java SEの組込み使用に関するよくある質問への回答は、以下のとおりです。 Q1.Java SE Embeddedのシステム要件を教えてください。 このページの前半にまとめてあります。 Q2.Java SE Embeddedと標準Java SEの機能上の違いを教えてください。 Java SE Embeddedは、Java SEから派生しており、Java SEと同じプラットフォームおよび機能をサポートしています。また、組込み市場向けの特定の機能とサポートを提供します。現在、これらの組込み専用の機能およびサポートには、追加プラットフォーム、フットプリントの小さいJRE、ヘッドレス構成、およびメモリの最適化が含まれています。すべてのJava SE Embedded製品は、Java 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つです。 - ダウンロード - 始めにダウンロード・ページにアクセスし、組込み専用プラットフォームまたはすべての(デスクトップ、サーバーを含む)Java SEプラットフォームから最新のJava SE Embeddedリリースを選択します。必要なプラットフォームが含まれていない場合は、こちらからお問い合わせください。
- 開発 - プラットフォーム上でJava SE Embeddedを試してみます。Java SE Embeddedを使用して、組込みアプリケーションを開発します。開発は無償です。Javaの扱いが初めてである場合も、チュートリアル、ブループリント、ドキュメント、トレーニングなどのオラクルからの支援だけでなく、Javaコミュニティからも広範なリソースが提供されています。
- デプロイ - デプロイの準備は整いましたか。オラクルのライセンス、サポートおよびパートナー・プログラムについては、こちらからお問い合わせください。
|