exeを作る(orダブルクリックで実行できるようにする)ことと
JREなしで実行することを分けて考えること。
で、繰り返すけど、JREはアプリ内に同梱してインストーラに
入れることも可能(ユーザの別インストールなし、ユーザには
"普通の"アプリに見える)。
VJ++で作れたexeは実際にはJavaのクラスとMS-JVMを起動するだけのファイル。
つまりVMなしで実行していたわけではない。
JREの同梱さえいや、ということであればそれはちょっと難しい。
↓つづく
44 :
デフォルトの名無しさん:04/01/28 00:28
ネイティブコンパイルとかAOTコンパイルとか言われる技術もある。
これだとひとつのexeを作れることもあるけどおすすめしない。
Javaの理想とか以前に、JITコンパイルに対して速度的に
アドバンテージが全くないかむしろ劣りかねない上に
クラスが増えたりコンパイルの最適化度合いを上げると
JREを含めたよりも大きなファイルをはきかねないので逆に効率が悪い。
(速度がJIT>AOTになるのはJITが実行時情報をたくさん使えるから、
クラスの動的ロードを多用したときとか
あと今だとServerVMはSIMDの動的生成とかするから。)
小さいアプリならスクリプトかexeの中で起動時にJREがないと警告する、
でかいアプリならVM同梱、がおすすめ。
まじれす、しかもなが。