「IKVM.NET」を編集中
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
1行目: | 1行目: | ||
− | '''IKVM.NET''' | + | '''IKVM.NET'''とは、オープンソースにより開発が行われている[[Mono]]及び[[.NET Framework]]上で実装されたJava仮想マシンを含む[[Java]]の実装である。 |
− | + | 過去にマイクロソフトが提供していた[[J Sharp|J#]]の様なJava類似言語ではなく、OpenJDKをベースとした純粋なJavaの仮想マシンが.NETの仮想マシンである共通言語ランタイム上で動作するという。 | |
− | |||
− | + | また、Javaバイトコード(classファイルおよびjarファイル)を、.NETマネージコード(DLLファイル)に変換する、バイトコードコンパイラーなどのJavaと.NETの相互運用のためのツールも含む。なおプログラミング言語としてのJavaコンパイラー(javacコマンド)に相当するものは含まれていない。 | |
− | + | そのほかに独自のJavaクラスライブラリなども含まれている。 | |
== メリットとデメリット == | == メリットとデメリット == | ||
− | + | .NETとJavaの2重の仮想化が行われるため速度面では不利ではある。 | |
− | |||
− | 一方で、[[C Sharp|C#]]や[[F Sharp|F#]]、[[Phalanger]]などと同様に、 | + | 一方で、[[C Sharp|C#]]や[[F Sharp|F#]]、[[Phalanger]]などと同様に、.NETおよびJavaのライブラリなどをプログラミング言語レベルで一切意識せずに相互利用できる。 |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== 歴史 == | == 歴史 == | ||
=== IKVM.NET 7.0 === | === IKVM.NET 7.0 === | ||
− | + | OpenJDK 7 b147 ベース。 | |
== インストール == | == インストール == | ||
32行目: | 21行目: | ||
== 使い方 == | == 使い方 == | ||
− | 単純な[[Java]] | + | 単純な[[Java]]実装として使う場合は、IKVMを展開したディレクトリ内のbinディレクトリにJavaのjavaコマンドに相当するikvm.exeコマンドがいるのでこれを叩くだけである。 |
<source lang="bash"> | <source lang="bash"> | ||
$ cd bin | $ cd bin | ||
43行目: | 32行目: | ||
</source> | </source> | ||
− | [[Mono]] | + | [[Mono]]で用いる場合はシェルスクリプトによるショートカットを用意しておくと便利。 |
− | |||
<source lang="bash"> | <source lang="bash"> | ||
$ echo '#!/bin/sh'$'\nexec mono $MONO_OPTIONS "/opt/ikvm-7.0.4335.0/bin/ikvm.exe" "$@"' > /opt/ikvm-7.0.4335.0/bin/ikvm | $ echo '#!/bin/sh'$'\nexec mono $MONO_OPTIONS "/opt/ikvm-7.0.4335.0/bin/ikvm.exe" "$@"' > /opt/ikvm-7.0.4335.0/bin/ikvm | ||
53行目: | 41行目: | ||
* [[Mono]] - IKVM.NETとの統合が進められている。 | * [[Mono]] - IKVM.NETとの統合が進められている。 | ||
* [[MonoDevelop]] - IKVM.NET公式の統合開発環境 | * [[MonoDevelop]] - IKVM.NET公式の統合開発環境 | ||
+ | == 参考文献 == | ||
+ | <references /> | ||
== 外部リンク == | == 外部リンク == | ||
* http://www.ikvm.net/ | * http://www.ikvm.net/ | ||
− | |||
− | |||
− | |||
− | |||
{{stub}} | {{stub}} |