| 原作者 | Bernd Mathiske、 Douglas Simon ( Sun Labs、Oracle ) |
|---|---|
| 開発者 | マンチェスター大学、マキシンチーム |
| 初回リリース | 2005年 |
| 安定リリース | 2.9.0 [1]
/ 2019年12月20日 |
| リポジトリ |
|
| 書かれた | ジャワ |
| オペレーティング·システム | Solaris、Linux、macOS |
| プラットフォーム | x64、ARM32、AArch64、RISC-V |
| タイプ | Java仮想マシン |
| ライセンス | GPLバージョン 2.0 |
| Webサイト | github.com/beehive-lab/Maxine-VM |
Maxine仮想マシンは、マンチェスター大学で開発されたオープンソースの仮想マシンです。 [ 2 ]以前はSun Microsystems Laboratoriesによって開発されましたが、[3]その後 Oracle Labs に改名されました。Maxine のソフトウェア アーキテクチャでは、産業および学術分野の仮想マシン研究者向けに、柔軟性、構成可能性、生産性を実現するモジュール設計とコード再利用に重点を置いています。これは、メタ循環スタイルで完全に Java で記述された、増加しているJava 仮想マシンの 1 つです。例としては、 SquawkやJikes RVMなどがあります。
建築
Maxine VM の内部的な特徴としては、Java 1.5 および 1.6 の高度な言語機能を積極的に使用し、Java インターフェイスを通じて調整されたモジュール サブシステムを備え、インタープリタが存在せず、 VM 開発用の緊密に結合されたデバッガと視覚化ツールが採用されています。
互換性
Maxine は、変更されていないJava 開発キット(JDK)とプラグ互換です。Maxine は、 NetBeans、Eclipse、IntelliJ IDEAなどの標準の Java統合開発環境(IDE)で開発、ビルド、実行できます。
Javaでのシステムプログラミング
このプロジェクトの第 2 の目標は、「Java でのシステム プログラミング」のための方法とツールを開発することです。Javaアノテーションを使用してVMソース コードに構成されたコンパイラ拡張機能により、パフォーマンスを低下させることなく、Java では許可されていない低レベルの操作を使用できます。これらの拡張機能は、 Graal コンパイラの基礎となりました。
マキシン検査官
Maxine VM の特殊なデバッグ サポートは、Maxine Inspector によって提供されます。これは、複合オブジェクト、クラス、メソッド ブラウザー、およびマシンレベルとバイトコード レベルのデバッガーとして機能するコンパニオン ツールです。[4] Inspector はプロセス外で実行され、アクティブな VM サポートを必要とせず、メモリ レイアウトと VM 設計の詳細な知識を活用する特殊な開発者サービスのために VM と共有されるコードを活用します。[5] 注目すべきサービスは次のとおりです。
- マルチモードブレークポイント[9]とステップ実行を備えたコード[6](ソース、バイトコード[7]、逆アセンブルされたマシンコード[8] )の複数モードビュー。
- スレッド、[10]スタック、[11]レジスタ、[12]およびスレッドローカル変数の検査。
- 柔軟な低レベルメモリ可視化[13]は、コードの場所やオブジェクト参照などのメモリ値の動的な解釈とリンクを可能にします。
- オブジェクトフィールドとメタデータの動的視覚化[14]
- ブートイメージの設定詳細[15]および
- GC 中のデバッグのための特殊なアルゴリズム固有のサポート。
歴史
Maxine は、2005 年初頭に Sun Labs の Bernd Mathiske によって作成されました。彼は成長を続けるチームの中でその開発を指揮しましたが、2008 年後半にSun Microsystemsを離れ、プロジェクトを最初のエンジニアであった Doug Simon に引き継ぎました。Doug Simon は、Oracle Corporationによる Sun の買収後もこの役割を続けました。
Maxine Inspector の静的 (ヒープ検査) バージョンは、2006 年に Bernd Mathiske によって作成されました。Michael Van De Vanter は 2007 年に Inspector の開発を引き継ぎ、VM が実行可能になったときに動的サポートを追加し、Oracle Corporationによる Sun の買収を通じて進化を続けました。
オラクルはMaxine 2.0がリリースされるまでMaxineの開発を続けました。[16]マンチェスター大学はリリース2.1の時点でMaxineを開発しています。[17]
参照
参考文献
注記
- ^ "Maxine VM: Java における Java 用のメタサーキュラー VM". GitHub。 2021年11月18日。
- ^ ウィマーら2013年、1頁。
- ^ 「Oracle Labs – About」。Labs.oracle.com 。 2017年6月25日閲覧。
- ^ 「Maxine プロジェクト: Maxine インスペクター」。community.oracle.com。2019年4 月 8 日閲覧。
- ^ 「Maxine Inspector の紹介 (デモ)」youtube.com 2010 年 4 月 5 日2019 年 4 月 8 日閲覧。
- ^ 「Maxine Inspector Mini-Demo 6 of 10 (2008): Multi-code Method Views」. youtube.com . 2010年8月28日. 2019年4月8日閲覧。
- ^ 「Maxine Inspector Mini-Demo 5 of 10 (2008): Disassembled Bytecode」. youtube.com . 2010年8月28日. 2019年4月8日閲覧。
- ^ 「Maxine Inspector Mini-Demo 4 of 10 (2008): Disassembled Machine Code」. youtube.com . 2010年8月28日. 2019年4月8日閲覧。
- ^ 「Maxine Inspector Mini-Demo 10 of 10 (2008): Breakpoints」. youtube.com . 2010年8月28日. 2019年4月8日閲覧。
- ^ 「Maxine Inspector Mini-Demo 7 of 10 (2008): Threads」. youtube.com . 2010年8月28日. 2019年4月8日閲覧。
- ^ 「Maxine Inspector Mini-Demo 9 of 10 (2008): Stacks」. youtube.com . 2010年8月28日. 2019年4月8日閲覧。
- ^ 「Maxine Inspector Mini-Demo 8 of 10 (2008): Registers」. youtube.com . 2010年8月28日. 2019年4月8日閲覧。
- ^ 「Maxine Inspector Mini-Demo 2 of 10 (2008): Memory」. youtube.com . 2010年8月28日. 2019年4月8日閲覧。
- ^ 「Maxine Inspector Mini-Demo 3 of 10 (2008): Heap Objects」. youtube.com . 2010年8月28日. 2019年4月8日閲覧。
- ^ 「Maxine Inspector Mini-Demo 1 of 10 (2008): Boot Image Configuration」. youtube.com . 2010年8月28日. 2019年4月8日閲覧。
- ^ “アーカイブコピー”. 2016年3月4日時点のオリジナルよりアーカイブ。2013年9月18日閲覧。
{{cite web}}: CS1 maint: アーカイブされたコピーをタイトルとして (リンク) - ^ 「Maxine-VM: Maxine VM: メタ循環研究 VM」。GitHub。2017 年 6 月 21 日。2017 年 6 月 25 日閲覧。
文献
- Kotselidis, Christos; Clarkson, James; Rodchenko, Andrey; Nisbet, Andy; Mawer, John; Luján, Mikel (2017)。「異機種マネージド ランタイム システム」。第13 回 ACM SIGPLAN/SIGOPS 国際仮想実行環境会議の議事録。VEE 2017。pp. 74–82。doi :10.1145/ 3050748.3050764。ISBN 978-1-4503-4948-2。
- Wimmer, Christian; Haupt, Michael; Van De Vanter, Michael L.; Jordan, Mick; Daynès, Laurent; Simon, Douglas (2013 年 1 月)。「Maxine: Java 用および Java で実現可能な仮想マシン」。ACM Transactions on Architecture and Code Optimization。9 (4)。記事。30。doi : 10.1145 /2400682.2400689。ISSN 1544-3566。
外部リンク
- 公式サイト
- Read the Docsの Maxine VM プロジェクト
