File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes JDBC and Relational Databases and the fly likes What Class.forName() actually does internally? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Java Interview Guide this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Databases » JDBC and Relational Databases
Bookmark "What Class.forName() actually does internally?" Watch "What Class.forName() actually does internally?" New topic

What Class.forName() actually does internally?

prithvi s zankat

Joined: Jul 18, 2005
Posts: 12
I still am not clear about the Class.forName(). I know that it load the Class defination. Why defination is required when we load driver and not the object of that class?
Shailesh Chandra
Ranch Hand

Joined: Aug 13, 2004
Posts: 1082

In JDBC by calling the method Class.forName. This explicitly loads the driver class. Since it does not depend on any external setup, this way of loading a driver is the recommended one for using the DriverManager framework. The following code loads the class acme.db.Driver:

If Driver has been written so that loading it causes an instance to be created and also calls DriverManager.registerDriver with that instance as the parameter (as it should do), then it is in the DriverManager's list of drivers and available for creating a connection.


Gravitation cannot be held responsible for people falling in love ~ Albert Einstein
I agree. Here's the link:
subject: What Class.forName() actually does internally?
It's not a secret anymore!