0
  1. 次のようなWebサーバー:ApacheTomcat。
  2. 次のようなアプリケーションサーバー:Weblogic。
  3. EJBコンテナ。
  4. AndroidのJavaコンテナ。5>他のすべてのJava実装?
4

6 に答える 6

1

通常はそうです。しかし、いいえ、それは必須ではありません...この回答によって雄弁に指摘されているように... https://stackoverflow.com/a/2897323/1481262

java.lang.instrumentまた、(パッケージを使用して)アプリケーションのコードをインストルメントしている間、実行は実行されるpremain前のメソッドから開始mainされます。-[1][2]。

[1] http://docs.oracle.com/javase/6/docs/api/java/lang/instrument/package-summary.html
[2] http://dhruba.name/2010/02/07/creation -dynamic-loading-and-instrumentation-with-javaagents /

于 2013-02-14T03:18:50.677 に答える
0

はい、すべてのJavaプログラムはmainで始まりますが、各クラスが個別のmain関数を持つ必要はありません。

于 2013-02-14T03:09:25.750 に答える
0

はい、すべてのプログラムはで始まる必要がありmainます。これは、JDKとJREの間の契約のようなものです。

于 2013-02-14T03:12:07.060 に答える
0

はい。Javaプログラムを起動するときに、使用するクラスを指定すると、その静的mainメソッドがコマンドライン引数を使用して呼び出されます。

于 2013-02-14T03:08:09.467 に答える
0

JREは常にmain()メソッドから開始します。ただし、JREを起動し、それを使用して複数の独立したプログラムを実行することは可能です。たとえば、ブラウザは多くの場合、同じJREですべてのアプレットを実行します。

于 2013-02-14T03:17:13.653 に答える
0

理論的には、http://www.codeproject.com/Articles/17352/JVM-Launcher のように、java.exe の代わりにカスタム ランチャーを作成できます。彼らがどのように呼び出すかを見てみましょうmain:

//Find the class
jclass    jcJclass = psJNIEnv->FindClass(mainClassName);

//Find the main method id
jmethodID jmMainMethod = 
    psJNIEnv-> GetStaticMethodID(jcJclass, "main", "([Ljava/lang/String;)V");

//Call the main method.
psJNIEnv->CallStaticVoidMethod(jcJclass, jmMainMethod, joApplicationArgs);

つまり、どのメソッドでもかまいません

于 2013-02-14T03:56:34.683 に答える