This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
If the class has not been loaded, the first time Class.forName() is called it will cause the class to load. Loading the class also causes it to be registered wit the DriverManager.
If the Class is already loaded, it get returned from the ClassLoader cache and does not get loaded again. Therefore you can have as many calls to Class.forName() as you like and the overhead will be minimal.