この情報源から、私はそれを読みました:
JDBC ドライバーを扱った経験があるかもしれません。たとえば、クラスローダは「org.gjt.mm.mysql」パッケージの Driver クラスをロードしてリンクしようとします。成功した場合、静的初期化子が呼び出されます。
Class.forName("org.gjt.mm.mysql.Driver"); 
Connection con = DriverManager.getConnection(url,"myLogin", "myPassword"); 
ドライバーをメモリにロードするために Class.forName() が必要な理由を見てみましょう。すべての JDBC ドライバーには、それ自体を DriverManager に登録する静的ブロックがあり、DriverManager には静的な初期化子のみがあります。
MySQL JDBC ドライバーには、次のような静的初期化子があります。
 static {
     try {
         java.sql.DriverManager.registerDriver(new Driver());
     } catch (SQLException E) {
         throw new RuntimeException("Can't register driver!");
     } }
これは、DriverManager が Singleton クラスであることを意味しますか?