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.