Class.forName加載類是將類進了初始化(相當於調用無參構造函數,會調用static靜態代碼來初始化配置),
而ClassLoader的loadClass並沒有對類進行初始化,只是把類加載到了虛擬機中。
應用場景
在我們熟悉的Spring框架中的IOC的實現就是使用的ClassLoader。
而在我們使用JDBC時通常是使用Class.forName()方法來加載數據庫連接驅動。這是因為在JDBC規范中明確要求Driver(數據庫驅動)類必須向DriverManager注冊自己。
Class.forName加載類是將類進了初始化(相當於調用無參構造函數,會調用static靜態代碼來初始化配置),
而ClassLoader的loadClass並沒有對類進行初始化,只是把類加載到了虛擬機中。
在我們熟悉的Spring框架中的IOC的實現就是使用的ClassLoader。
而在我們使用JDBC時通常是使用Class.forName()方法來加載數據庫連接驅動。這是因為在JDBC規范中明確要求Driver(數據庫驅動)類必須向DriverManager注冊自己。
本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。