The first only loads the class, the second also creates an instance. For some (mostly old) drivers this was necessary because the class wouldn't register itself properly without it. You're using an old driver though. The latest one is com.mysql.jdbc.Driver, and doesn't need the newInstance() call.
Campbell Ritchie wrote:You do not need an instance of the class. If your class has a private constructor, it may throw a (checked) Exception. You should miss out the newInstance call because you do not need the instance.
If I recall correctly, a few quite old JDBC drivers actually did need an instance. They were poorly written to register the driver in the constructor, not a static block. These days that should definitely not be the case anymore.