BT

.NET/Mono上でJavaを動かす:Jeroens Frijters 氏がIKVM.NETを語る

| 作者: Jeff Martin フォローする 16 人のフォロワー , 翻訳者 編集部N フォローする 0 人のフォロワー 投稿日 2012年5月9日. 推定読書時間: 2 分 |

原文(投稿日:2012/05/08)へのリンク

 

 

IKVM.NET (IKVM) は、.NET とMono 用のJVMで、ユーザーはJavaアプリケーションを直接実行できる。 Microsoftの Erik Meijer氏は最近IKVMのクリエーターである Jeroen Frijters氏と席を交えて、プロジェクトの様々な側面について話をした。インタビューはIKVMの内部のことから将来のプロジェクトの目標まで広範囲に及んだ。以下はその主要な部分である。

Frijters氏は2002年にプロジェクトが始まってから、プロジェクトの中心開発者として働いている。インタビューでは、始めに Frijters氏がどのようにIKVMがMonoプロジェクトの一部となっているか、2つのプロジェクトがお互いにパッチを提供し合って、相互に利益のある関係が作られていることを話した。アーキテクチャ的には、IKVMは完全に.NET上にJavaのメモリーモデルを実装している。氏は、Javaのstring interfaceを正しく処理するために、特別な場合のためのコードが必要になるラッパーを避けようとしている。

.NET開発者は、JavaコードがIKVM上で走るなら、そのコード中のカスタムアトリビュートを使うことができる。Javaと.NETの両方のプラットフォームは、もしコードがIKVM上で走るなら、両方の方法でアトリビュートを使うことができる。 なのでJavaコードで.NETカスタムアトリビュートが使えるし、C#クラスやメンバーでJavaアノテーションも使うことができる。

内部的には、IKVMのランタイムやコンパイラーは、主にC#で書かれている。Frijters 氏は公に入手できるJavaコードを取り入れ(それらは様々な箇所で、GNU Classpath、OpenJDKなどから持ってきている)、そしてネイティブなCコードをマネージコードで置き換えている。ユーザーがアプリケーションでネイティブコード使わなければ、IKVMが全くネイティブコードを使っていないので、IKVM上でもJavaアプリケーションは完全にポータブルである。

現時点でIKVMは完全にJava 7をサポートしており、新しい命令invoke dynamic もサポートしている。しかし、氏はより新しい命令のパフォーマンスを向上するためにまだやるべきことが多くあることを認めている。

 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT