Class.forName()Class オブジェクト (特定の Java クラスを表すオブジェクト) を返します。
newInstance()-- java.lang.Class のメソッド -- 表現されたクラスの引数なしコンストラクタを使用して、そのクラスのインスタンスを作成します。
あなたの質問について:(http://www.coderanch.com/t/385654/java/java/Difference-between-Class-forName-Classからの参照)
Class.forName()クラスへの参照を取得し、クラスClass.forName().newInstance()の引数なしコンストラクターを使用して新しいインスタンスを返そうとします。これまでのところ驚くことはありません。のもう 1 つの一般的な使用法Class.forName()は、クラスをロードすることです。これは、一部のタイプのクラスには、他の目的で必要なロード プロセスによる副作用があるためです。JDBCDriver クラスは、DriverManagerロードされたときに自分自身を Class に登録する必要があるため、このプロセスの大規模なユーザーです。
おそらく v1.1.8、おそらく Java 1.2 までの Java の暗黒時代には、デフォルトClassLoaderではインスタンスが作成されるまでクラスがロードされないという問題がありました。このような場合、Class.forName()ではなくを使用すると、JDBC コードは失敗しますClass.forName().newInstance()。
newInstance()すぐに破棄されるインスタンスを作成しますが、正しく機能させる必要がありましClass.forName()た。この回避策は不要になりました。