- - PR -
JVMについて
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2003-06-09 12:10
Javaは1つのアプリケーションを起動するたびに、1つのJVMを起動してるようですが、それを1つのJVM上で複数のアプリケーションを起動できるようにできるのでしょうか?
|
|
投稿日時: 2003-06-09 12:37
サーブレットなんかは、一つのJVMで複数のアプリを動かしている状態ですよね。正確には、スレッドを複数生成してリクエストに応じる形ですが。コマンドラインから起動するようなアプリでJVMを共有するのは、たぶん無理なんじゃないですかね。JVM側で致命的なエラーが発生すると、同じJVMで実行されているアプリも落ちてしまうと思うし。他の環境の影響を受けず、与えずがJVMの基本理念だと思うので、だめじゃないかな。
|
|
投稿日時: 2003-06-09 13:04
1つのVMで実行できると、起動待ちがなくなって便利ですよね。
(デスクトップアプリのコンテナ作りましたが、結構イケますよ。 ただし、Activation Framework には未対応。) 小僧さんの言うとおり、道連れでコケると困る用途には使いたくないですが、 ソース編集、ビルド、ドキュメント生成、Web閲覧くらいは実用になってます。 もしやってみるなら、相互に影響を及ぼさないためにスレッドを複数立ち上げる だけでなく、ちゃんとクラスローダで空間も分けた方が良いですよ。 |
|
投稿日時: 2003-06-09 17:29
できるんですね、コンテナを作ってあげれば。勉強になりました。勉強ついでに、この辺のネタで何か資料になるような記事とかご存知でしたら教えていただけるとありがたいです。[ メッセージ編集済み 編集者: 小僧 編集日時 2003-06-09 17:29 ] |
|
投稿日時: 2003-06-09 21:19
sinさん、小僧さん同様、私もいろいろ知りたいです! 資料とか。
Java 2 SDK 1.2(特に Swing)が出たとき、「これはデスクトップでも実用になる 時代が来たか?」と Javaでデスクトップとか、カルクとか、ペイントツールとか 「手探り」で作り始めたんだけど、設計汚い!!し、勉強不足だったので Activation Frameworkとか知らなくて、MIMEでオブジェクト操作するようなラウンチャま で作らなければならなかった。 で、そのラウンチャの心臓部というのが クラスローダで、サーブレットコンテナや アプレットのサンドボックスとそっくりです。ただし、デスクトップアプリを起動す るようになっています。(System.exitされると泣く。shutdownHookしてるけど。) 長々書いたけど、複数のアプリ起動には Tomcatなどの簡単なコンテナが参考になるか もしれませんね。あと、Javaによるフリーなデスクトップがどっかにないか探してみる のもイイかも。(プログラム書く楽しみ無くなるけど。) |
|
投稿日時: 2003-06-09 22:36
> Javaによるフリーなデスクトップ
これとか。 http://www.jdistro.com/ 実用性は全く無いけど面白いです。ぜひ試してみてください。 |
|
投稿日時: 2003-06-10 18:14
みなさん、色々ありがとうございます。これから、色々とチャレンジしていきたいと思います。
|
|
投稿日時: 2003-06-12 00:45
今更ながら、カーク・ペパーダイン氏の
Multiple Application Launcher を見つけました。@ITでもおなじみの安藤さんのページからたどりつきました。 MALは Unixの動的にリンクされたプログラムが共有ライブラリを参照するような、 共有テキストライブラリから着想を得ているようです。(疲れるのでまだ9ページ までしか読んでません。) |
1
