javaに関するpaz3のブックマーク (1)

  • Class.forName で DB アクセスできるようになる理由 - すぱいだー日記。

    Java の研修で DB(だいたいMDBかな) にアクセスするプログラムを作ることになったとき、講師はほぼ 100% 「JDBC Driver を使用するためには Class.forName を使用します」と言うはず。ただ、呪文のごとく。 で、Class.forName の API を見てみる。 forName(String name, boolean initialize, ClassLoader loader) 指定されたクラスローダを使って、指定された文字列名を持つクラスまたはインタフェースに関連付けられた Class オブジェクトを返します そして疑問が生まれる。「クラスをロードするだけでなんでDBにアクセスできるようになるの?」と。 講師はなぜできるかは説明しない。分かってないってことは無いと思うけど「まだ初心者だから覚えとけばいい」的な感じだろう。 けど、ここは言わせてもらう!

    Class.forName で DB アクセスできるようになる理由 - すぱいだー日記。
    paz3
    paz3 2015/02/19
    JavaのClass.forNameでDBドライバが登録される理由。Class.forNameでモジュールが読み込まれる→モジュールのstaticイニシャライザ内でDriverManager.registerDriverを使って登録される。
  • 1