BT

JavaRevel:JVMにおけるダイナミッククロスローディング

| 作者: Rob Thornton フォローする 0 人のフォロワー , 翻訳者 編集部 フォローする 0 人のフォロワー 投稿日 2007年10月29日. 推定読書時間: 1 分 |

JavaRebel(サイト・英語)はRubyとPHPのダイナミックリロードのクラスをJavaに持ってきた。それには現在制限がいくつかあるが開発を劇的に速めるものなのだ。

JavaRebelはメソッドフィールドの追加と削除を含めてフライ上のほとんどの変更をリロードするために、アプリケーション(独立型、もしくはアプリケーションサーバ内で)を許容する。

バイトコード修正とちょっとしたマジックを使ってJavaRebelはほとんど任意の変更をフライ上のクラスにリロードする機能を用いてJVMを拡張する。これにはメソッドとフィールド両方の追加と削除が含まれていて、許されない変更は”拡張”と”実装”のクラスである。全ての存在しているオブジェクトインスタンスはアプリケーションを保存しているのでサーバは動作し続けることが可能で、そのコードの変更点はアプリケーション内で即刻発見することができるのだ。

発見された制限の中には下記のようなものがあった。

  • getClass().getPackage() がnull値を返す。Zeroturnaroundはそれを解消するため、現在それに取り掛かっている
  • カスタマークラスローダーはサポートされていない
  • リソースリロードでのパフォーミングアクション用のフックが現在提供されていない(例えばSpringアプリケーション内の依存性グラフにおいてオブジェクトをリフレッシュする等)

現在の制限があるにも関わらず、人々の意見(source)は好意的なものであった(source)。同様にZeroturnaroundは、カスタムクロスローダー制限のように、その問題解決の補助のためにSDKをリリースする計画を進めており、また日々の努力(source)を実現しようと目下奮闘中である。

原文はこちらです:http://www.infoq.com/news/2007/10/javarebel

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには 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