皆さんの知識をお借りしたく質問させていただきます。

サーブレット上で複数のJSPから同時に利用される、
Singletonのクラス、Sを作成しました。
このSは、コンストラクタをprivate宣言し
インスタンスを取得するための関数(getInstance())を
synchronize宣言をしています。

このクラスSを利用する、use.jspを作成しましたが、
ひとつ、問題にぶつかっています。

これで、クラスSはサーブレット内で唯一のインスタンスと
なると考えていましたが、僕の知識不足のようで、
クラスSのインスタンスが無い状態で(あっても?)、
use.jspを同時に複数呼び出しますと、synchronize宣言してあるはずの
getInstance()が複数呼び出されてしまいます。

クラスSのインスタンスを、複数のJSPから同時に
利用したいと考えていますが、
初期化は一度だけ行いたいと考えています。

サーブレット上で、グローバルなSingletonクラスを
作成する際に、参考になるWebページなどは無いでしょうか、

よろしくお願いします。