请教Class.forName()方法的使用? Class.forName()用来加载数据库驱动的如:使用jdbc-odbcClass.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ClassLoader负责在运行时查找和装入类文件的类与 C 或 C++ 编写的程序不同,Java 程序并不是一个可执行文件,而是由许多独立的类文件组成,每一个文件对应于一个 Java 类。 此外,这些类文件并非立即全部都装入内存,而是根据程序需要装入内存。ClassLoader 是 JVM 中将类装入内存的那部分。 而且,Java ClassLoader 就是用 Java 语言编写的。这意味着创建您自己的 ClassLoader 非常容易,不必了解 JVM 的微小细节。 Class.forName()将自动创建一个数据库driver的实例然后就可以用这是实例去连接到相应的dbms上对数据库进行操作Connection con = DriverManager.getConnection(url,"myLogin", "myPassword"); Class.forName()得到一个Class的实例,但是很慢。Class.forName("java.lang.String") == String.classClass.forName("String")会找不到类。 Class.forName()有两种形式:public static Class forName(String name)throws ClassNotFoundExceptionpublic static Class forName(String name, boolean initialize, ClassLoader loader) throws ClassNotFoundException第一种形式利用JVM的内置BootTrap ClassLoader来进行类的加载和初始化类。BootTrap ClassLoader是所有ClassLoader的Parent ClassLoader.第二种形式用指定的ClassLoader进行加载。只有当initialize是true而且这个类以前没有被初始化过,这时才初始化类。也就是说forName()利用ClassLoader来加载类的。关于ClassLoader可以到http://www-900.ibm.com/developerWorks/cn/education/java/j-classloader/tutorial/j-classloader-2-1.shtml看一看,或者参考JDK的DOCUMENT 一个类的转载方法有3种,用new,Class.forname(),loadclass(),其中new为隐式装载,后两种为显式装载。 Java桌面应用程序中碰到的怪问题 请教一个动态生成数组的问题。 内部类问题 大家有没有踫过用编译器执行生成的效果和生成可执行的JAR文件运行后的效果大大的不一样呀?? 求教:我的tomcat启动不了了。 java 的简单问题 7 ??? 初学java,请问用什么工具比较好入门????? 请问如何用JAVA建立一个包含字符串的结构数组并赋值? 7年mm,有结局,撒分,java版每个都有,希望斑竹别删 JavaScript如何能把ASCII转换在字符串? Edipse中建立/使用package apache2.0.39 和tomcat4.1.18的整合问题
负责在运行时查找和装入类文件的类
与 C 或 C++ 编写的程序不同,Java 程序并不是一个可执行文件,而是由许多独立的类文件组成,每一个文件对应于一个 Java 类。 此外,这些类文件并非立即全部都装入内存,而是根据程序需要装入内存。ClassLoader 是 JVM 中将类装入内存的那部分。 而且,Java ClassLoader 就是用 Java 语言编写的。这意味着创建您自己的 ClassLoader 非常容易,不必了解 JVM 的微小细节。
然后就可以用这是实例去连接到相应的dbms上对数据库进行操作
Connection con = DriverManager.getConnection(url,"myLogin", "myPassword");
public static Class forName(String name)throws ClassNotFoundExceptionpublic static Class forName(String name,
boolean initialize,
ClassLoader loader)
throws ClassNotFoundException
第一种形式利用JVM的内置BootTrap ClassLoader来进行类的加载和初始化类。BootTrap ClassLoader是所有ClassLoader的Parent ClassLoader.
第二种形式用指定的ClassLoader进行加载。只有当initialize是true而且这个类以前没有被初始化过,这时才初始化类。也就是说forName()利用ClassLoader来加载类的。
关于ClassLoader可以到http://www-900.ibm.com/developerWorks/cn/education/java/j-classloader/tutorial/j-classloader-2-1.shtml看一看,或者参考JDK的DOCUMENT