2011-07-17 6 views
2

どのように多くの数が存在することができクラスには、JVMごとに1つのインスタンスが存在します。したがって、上記の答えは1つのインスタンス にする必要があります。これは、earファイル用に1つのインスタンスjvmが存在するためです。同じシングルトンクラスが2つのwarファイルにパッケージ化されている場合、インスタンスは存在しない可能性がありますか?シングルトンのための私の理解あたりとしてMyUnderstanding </p> <p>CAS1</p> <p>を同じシングルトンクラスが2つのwarファイルにパッケージ化されている(と両方のWARファイルが 1つのEARファイルにパッケージ化されている)とき、インスタンスの

ケース2

しかしdifferntサイト(http://www.coderanch.com/t/520891/java/java/Singleton-Diff-WAR-files-sameに1つ)に、人々はまた、シングルトンは、クラスローダのための 単一のインスタンスを生成言及しています。彼らは2つのwarファイルに対して2つのクラスローダーがあると言いました。だから、シングルトンの2つのインスタンスになります。

正解は何ですか?後者の場合は右である

なら、私たちはクラスローダごとに単一のインスタンス(ここで私はブートストラップローダ、 アプリケーションクラスローダを含んでJVMインスタンス内のクラスローダhirerchyを意味があるでしょうシングルトンクラスのために文

1)の下に言うことができます)jvmではありません。同じEARファイルにパッケージ2つのWARファイルの場合

2)同じJVMインスタンスの下に2つのクラスローダhirerchies

http://forums.oracle.com/forums/thread.jspa?threadID=2253940&tstart=0に掲載が、あるでしょうではない具体的な答え

+0

これはシングルトンをどのようにするかによって大きく左右されます。シングルトンはどのように実装されていますか – Nivas

答えて

3

1)あなたのクラスは、各WAR内にある場合は、 Webアプリケーションごとにインスタンスが存在します(クラスローダーのハーナリー)。

2)はい。

関連する問題