Em certa aula de Linguagem e Técnicas de Programação III (Java), exercitávamos uma conexão por JDBC ao sistema gerenciador de banco de dados PostgreSQL. Como tenho instalado em meu sistema Ubuntu
o pacote sun-java6-source (e também o openjdk-6-source), o Eclipse IDE exibe junto ao Code Assist as dicas de tudo que possui Javadoc. Nos computadores da faculdade, onde não está instalado o código-fonte da Plataforma Java, nada disso é exibido, então talvez os colegas não saibam desse recurso. Na realidade, eis um guia sobre como fazer isso funcionar no bendito sistema operacional da faculdade: “Use JDK ao invés de JRE”.
Pois bem, descobri sem querer querendo, pela “ajuda” (Javadoc) da classe java.sql.DriverManager, a razão de funcionar o carregamento do driver JDBC (do PostgreSQL, no caso) mesmo sem o prévio Class.forName("org.postgresql.Driver"). Pode testar: comente essa linha e deve funcionar normalmente.
É que no JavaSE-1.6 isso não é mais necessário. Eis o que diz o Javadoc da classe java.sql.DriverManager:
Applications no longer need to explictly load JDBC drivers using Class.forName(). Existing programs which currently load JDBC drivers using Class.forName() will continue to work without modification.
When the method getConnection is called, the DriverManager will attempt to locate a suitable driver from amongst those loaded at initialization and those loaded explicitly using the same classloader as the current applet or application.
O negócio é mágico agora então?

[...] pequenos novos artigos sobre Java foram publicados em DalTux. Um deles, a respeito de uma certa peculiaridade sobre o desenvolvimento. Nada de mais, mas descobrimos um [...]