人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

携帯Javaのことで質問です。

最近の携帯電話のJava仮想マシンでは、JITコンパイルを行っているのでしょうか?
ネットで調べたところ、最近の携帯ではJBlendが多く採用されていることが分かったのですが、
開発元のページを見ても、JITを行っているか、行っていないかは良く分かりませんでした。
しかし、「FTT」等という高速化技術がJBlendで使われていることが分かりました。しかし、詳細は分かりませんでした。

携帯Javaで実際に使われている高速化技術と、その内容について教えてください。お願いします。

●質問者: aoisome
●カテゴリ:コンピュータ 家電・AV機器
✍キーワード:Java JIT いるか コンパイル ネット
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● angemaries
●35ポイント

JBlend限定の話です。

・JITではありません。

・FTTはオーバヘッドの大きかったスレッド処理をOS側とあわせるなどの処置をして高速化するものです。

http://www.aplix.co.jp/jp/release/2000/pr000515.html

◎質問者からの返答

回答ありがとうございます。

JITでは無いんですね…

早くJITが乗るようになってほしいです。

ずいぶん前の記事(下のリンク)ですが、CLDC Hotspotにも対応していくということが書いてあるのですが、進んでないんですねえ…

http://plusd.itmedia.co.jp/mobile/0208/27/n_jblend.html


2 ● pascal7
●35ポイント

JITコンパイルはいらない技術だと思いますが?

例えばARM CPUだと

Jazelleと言って中間コードを直接実行する機構を備えています。

直接機械語として実行できるのにコンパイルする必要は無いのでは?


>ARMは、Javaバイトコードをハードウェアでネイティブに実行できる技術を実装した。

>これはARMやThumbモードと並ぶもう一つの実行モードであり、ARM/Thumbの切り替えと

>同様にしてアクセスすることができる。

>Jazelleテクノロジを搭載した最初のプロセッサはARM926EJ-Sである。CPU名の'J'がJazelleを表している。

http://ja.wikipedia.org/wiki/ARM%E3%82%A2%E3%83%BC%E3%82%AD%E3%8...

どうでしょうか?

◎質問者からの返答

Jazelleという技術があるのですね。ありがとうございます。

しかし、そうだとしてもJITもあれば良いなと私は思うのですが…

以下2つの理由があります。

1.Javacの出力するバイトコードは、JITコンパイルを前提としている為、ほとんど最適化らしい最適化がされていないこと

2.Java bytecodeをハードウェアでネイティブに実行できても、Java bytecodeをはスタックマシン・アーキテクチャなので、本来のARMネイティブコードほどの速度はたぶん出ないと思われること


調べてみたのですが、JITコンパイルがまったく必要無いとは言い切れないと思われます。

http://www.jp.arm.com/products/multimedia/jazelletechnology/jaze...

>ARM Jazelle RCT(Runtime Compilation Target)テクノロジーは、Javaその他の実行環境で、

>効率的な事前(AOT)コンパイル、ジャストインタイム(JIT)コンパイルを実現します。

>また、Jazelle RCTは、起動時間や動作の滑らかさがさほど問題にならない超高速プラットフォームで

>AOTコンパイルの使用量を増やす際に使用され、JIT技術と併用されることもあります。

携帯電話のハードウェア資源が潤沢になれば、JIT等も併用されうるのではないでしょうか。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ