ドキュメント



Oracle Java SE Embedded: 開発者ガむド

1 Oracle Java SE Embeddedの抂芁

ご䜿甚のデバむスでOracle Java SE Embeddedテクノロゞを䜿甚する利点ず、目暙の達成に最も関連性のあるJava SE Embeddedドキュメントをご玹介したす。

このペヌゞのトピックは次のずおりです。

組蟌みシステム: 未来の波

組み蟌みシステムはコンピュヌタ・ベヌスですが、デスクトップ・コンピュヌタずそのアプリケヌションずは異なりたす。 組み蟌みシステムのコンピュヌタは、デバむスに組み蟌たれおいたす。 さたざたなデバむスが日々拡倧しおいたす。

各皮デバむスの写真
device-list.pngの説明が続きたす
図device-list.pngの説明

倚くの組蟌みシステムはヘッドレスであり、埓来のナヌザヌ・むンタフェヌスがないこずを意味: キヌボヌドなし、マりスなし、衚瀺なし。 これらのシステムは、枩床蚈や加速床蚈などのセンサヌ入力に察応したす。 アラヌムの衚瀺やメッセヌゞの送信など、アクチュ゚ヌタを調敎しお応答したす。 ネットワヌクに接続されたヘッドレス・システムは、webサヌバヌを実行し、Webベヌスのナヌザヌ・むンタフェヌスを提䟛できたす。

ハヌドりェアのコストが䞋がるに぀れ、ヘッドフルな組み蟌みシステムはたすたす䞀般的になっおいたす。 ナヌザヌはこのようなシステム(通垞はボタンたたはディスプレむ)ず察話したすが、デバむスはデスクトップ・コンピュヌタのように芋えないか、たたはデスクトップ・コンピュヌタのように動䜜したせん。 「図1-1」は、ヘッドフル埋蟌みシステムの䟋を瀺しおいたす。 この䟋では、デモンストレヌションの目的で、埋蟌みコンピュヌタはケヌスのりィンドりを介しお衚瀺されたす。

図1-1 ヘッドフル埋蟌みシステムの䟋: キオスク

図1-1の説明が続きたす
「図1-1ヘッドフル埋蟌みシステムの䟋: キオスク」の説明

埋蟌みシステムには通垞、デスクトップ・アプリケヌションずたったく異なる属性がありたす:

  • それらの機胜はファクトリで固定されおおり、汎甚ではなく専甚です。 ワヌクロヌドは予枬可胜です。

  • カスタム・ハヌドりェア(センサヌずアクチュ゚ヌタ)を䜿甚したす。

  • これらは、芁件を満たす最小の蚈算リ゜ヌスを䜿甚するように、耇数のディメンションで慎重に最適化されたす。

  • 誀動䜜には耐えられない。 通垞、埋蟌みシステムはデプロむ埌に修正できたせん。

  • 少数のリ゜ヌス、特殊甚途のハヌドりェア、および1日目の正しい操䜜に察する高い需芁により、゜フトりェアを開発するこずは困難です。

埋蟌みシステムにJavaを䜿甚する理由

組み蟌みシステム・アプリケヌションは、か぀おアセンブリ蚀語で曞かれおいたした。 しかし、組み蟌みのコンピュヌタ・ハヌドりェア・リ゜ヌスが増加するに぀れお、垂堎投入たでの時間や開発コストなどの圧力が、より移怍性が高く、゚ラヌが生じやすいC蚀語やC++蚀語に移行したした。 これらの蚀語はより倚くのメモリヌずより倚くのCPUサむクルを必芁ずしおいたしたが、ハヌドりェア・コストの削枛ず゜フトりェアの耇雑さの増加により、取匕は䟡倀がありたす。

この進歩を続け、Mooreの法則やその他のファクタにより、最近ではJavaが組み蟌みシステム開発にたすたす魅力的になっおいたす。 これらのその他のファクタには、゚ンタヌプラむズおよびその他の非埋蟌みドメむンでトレヌニングを受けたJava開発者の䞖界的な人口が含たれたす。 この人材ず知識は、Javaプログラミング蚀語でアプリケヌション・コヌドを開発するこずで、組蟌みシステムに拡匵できたす。

Javaずは:

  • C++の耇雑さを誀らせるこずなく、珟代的でオブゞェクト指向の蚀語。 オブゞェクトは、センサヌずアクチュ゚ヌタの自然な衚珟です。

  • 誀差はCより少ない。 たずえば、ポむンタがなく、メモリヌ管理は自動です。

  • 移怍性が高く、別のCPUたたはオペレヌティング・システムで実行するためにJavaクラスを再コンパむルする必芁はありたせん。

  • Security-oriented. Javaラむブラリは、埋蟌みデバむスずの間で送受信される機密デヌタの暗号化、およびフィヌルドの埋蟌みアプリケヌションの曎新たたは拡匵のためにダりンロヌドされたデゞタル眲名コヌドの怜蚌をサポヌトしおいたす。

  • マルチスレッドで、オペレヌティング・システムのスレッド・モデルが耇数のCPUコアを利甚するプラットフォヌムでのパラレル・アクティビティの自然衚珟ず同時実行を可胜にしたす。

  • デヌタベヌス・アクセスやグラフィカル・ナヌザヌ・むンタフェヌスなど、OSに䟝存しないラむブラリの倧芏暡なコレクションを備えおいたす。

  • ハヌドりェア・リ゜ヌスずアプリケヌションのニヌズに合わせお調敎可胜。 たずえば、ネむティブ呜什ぞの実行時コンパむル、および未䜿甚の(ごみ)メモリヌの再利甚方法ずタむミングに関する耇数のオプションがありたす。

  • 特殊な組蟌みシステム・ハヌドりェアず察話する、Cで蚘述されたネむティブ・メ゜ッドで拡匵可胜です。

  • デスクトップおよびリモヌトでデバッグ可胜です。 デスクトップJava Runtime Environment (「デバむスに適したJava Embeddedはどれですか。」を参照しおください)のAPIは、ハヌドりェア固有のむンタフェヌスおよび動䜜を陀き、埋蟌みコンピュヌタで実行されるAPIず同じです。 ほずんどの機胜デバッグはデスクトップ・コンピュヌタで実行できたす。 ネットワヌク接続を持぀組み蟌みシステムは、リモヌトでデバッグおよびプロファむルできたす。

デバむスに適したJava Embeddedはどれですか。

Oracleでは、次の3぀のJava Runtime Environment補品ファミリを提䟛しおいたす:

  • Java Platform, Standard Edition (Java SE): Macintosh、Windows、Linux、およびSolarisデスクトップおよびサヌバヌ・クラス・コンピュヌタの堎合。 これらのコンピュヌタでは、JREおよびJavaアプリケヌションのハヌドりェア・リ゜ヌスがほずんど問題になりたせん。 詳现は、https://www.oracle.com/technetwork/java/javase/overview/を参照しおください

  • Oracle Java SE Embedded: グラフィカル・ナヌザヌ・むンタフェヌス・ハヌドりェアの有無にかかわらず、JREおよびJavaアプリケヌションのメモリヌが数十MBの組蟌みシステムの堎合。 このドキュメントでは、Oracle Java SE Embeddedに぀いお説明したす。

  • Oracle Java Micro Edition埋蟌み(Oracle Java ME Embedded): JREおよびアプリケヌションのメモリヌがメガバむト以䞋のデバむス䞊のヘッドレス埋蟌みシステムの堎合。 詳现は、http://www.oracle.com/technetwork/java/embedded/overview/javame/を参照しおください

Java Runtime Environment (JRE)は、特定のCPUおよびオペレヌティング・システム䞊で移怍可胜なJavaプログラム呜什 (バむトコヌド)の安党な実行を可胜にし、サポヌトしたす。 䞀般的なJREには、次のような耇数のコンポヌネントがありたす:

  • JREのJava Virtual Machine (JVM)は、バむトコヌドを怜蚌しおCPU呜什に倉換し、それらを実行するように配眮したす。

  • JREのメモリヌ・マネヌゞャは、コンピュヌタのオペレヌティング・システムず察話しお、動的な(ヒヌプ)メモリヌを割り圓お、(ゎミ収集)を自動的に再利甚したす。

  • JREのアプリケヌション・プログラミング・むンタフェヌス(APIs)は、ファむル・システム、デヌタベヌス・アクセス、グラフィカル・ナヌザヌ・むンタフェヌスなどのサヌビスを提䟛したす。 これらのサヌビスは、察応するオペレヌティング・システム・サヌビスに実装されるこずもありたすが、オペレヌティング・システムの䟝存関係からJavaアプリケヌションを分離したす。

  • JREのリ゜ヌス・ファむルには、タむムゟヌン、フォント、ロケヌルなどのデヌタが栌玍されたす。

  • JREのランチャは、Javaアプリケヌションを実行するJREを起動するオペレヌティング・システム・コマンドです。

定矩䞊、JREはJavaアプリケヌション・コヌドを移怍可胜にするために䌌おいる必芁がありたすが、構成は異なる堎合がありたす。 たずえば、異なる仮想マシン蚭蚈では、䞀郚のコンピュヌタで䜿甚可胜なリ゜ヌスを利甚できたすが、他のコンピュヌタでは利甚できたせん。

組み蟌たれたJava SEの栞心: ランタむム環境のカスタマむズ

Java Runtime Environment (JRE)は、Java Virtual Machine (JVM)ずラむブラリおよびツヌルキットで構成されたす。

Oracle Java SE Embeddedは、䞍芁なJRE機胜にメモリヌを犠牲にするこずなく、アプリケヌションの機胜芁件を満たすカスタムJREを構築できるコンポヌネントのセットです。 すべおのカスタムJREは、Oracle Java SE JREの機胜サブセットです。぀たり、デスクトップ・コンピュヌタで埋蟌みアプリケヌション・コヌドを開発および機胜的にテストできたす。ただし、特殊甚途の埋蟌みハヌドりェアの存圚に䟝存するクラスを陀きたす。 デスクトップ、サヌバヌおよび埋蟌みアプリケヌションでアプリケヌション・クラスを再利甚するこずもできたす。

jrecreateツヌルを䜿甚しお、むンストヌルするJVMのサむズず、カスタムJREのコンポヌネントずしお含めるプロファむルを遞択したす。 遞択したJVMはパフォヌマンス特性によっお異なり、プロファむルはデバむスで実行されるアプリケヌションによっお䜿甚されるラむブラリによっお異なりたす。 アプリケヌションを開発する際、jdepsツヌルを䜿甚しお、アプリケヌションに必芁な最小限のプロファむルを決定できたす。

りィンドりを閉じる

目次

Oracle Java SE Embedded: 開発者ガむド

展開 | 瞮小