Re: В чем смысл: Class.forName("..."); ?
От: mikkri Великобритания  
Дата: 03.08.05 05:11
Оценка: 2 (1)
Здравствуйте, nuro, Вы писали:

N>Приветствую,


N> Расскажите, в чем глубинный смысл следующей строчки:

N>
Class c = Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");


N> Почему без неё не работает это? Как понимать создание переменной c? Она нигде после не используется!

N>
Connection conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://server:1433","login","pass");


Дело в том, что Class.forName() приводит к загрузке класса и инициализации его статической части.
В свою очередь многие JDBC драйвера при статической инициализации регистрируют себя в DriverManager'е. Так что все дело в side effect'ах.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.