Class.forname的作用
来源:互联网 发布:人工智能语音电话 编辑:程序博客网 时间:2024/06/06 01:55
Class.forName(xxx.xx.xx) 返回的是一个类,.newInstance() 后才创建一个对象
Class.forName(xxx.xx.xx);的作用是要求JVM查找并加载指定的类,也就是说JVM会执行该类的静态代码段
有的jdbc连接数据库的写法里是Class.forName(xxx.xx.xx);而有一些:Class.forName(xxx.xx.xx).newInstance(),为什么会有这两种写法呢?
JDBC是使用Bridge模式进行设计的 ,DriverManager就是其中的Abstraction,java.sql.Driver是Implementor,
Bridge模式中,Abstraction(DriverManager)是要拥有一个Implementor(Driver)的引用的,但是我们在使用过程中,并没有将Driver对象注册到DriverManager中去啊,这是怎么回事呢?
原来是com.mysql.jdbc.Driver在装载完后自动帮我们完成了这一步骤。在JDBC规范中明确要求这个Driver类必须向DriverManager注册自己,即任何一个JDBC Driver的Driver类的代码都必须类似如下:
public class MyJDBCDriver implements Driver {
static {
DriverManager.registerDriver(new MyJDBCDriver());
}
}
所以我们在使用JDBC时只需要Class.forName(XXX.XXX);就可以了
0 0
- Class.forName()的作用
- class.forname的作用
- class.forName()的作用
- Class.forName的作用
- class.forName()的作用
- Class.forName的作用
- Class.forname的作用
- Class.forName的作用
- Class.forName()的作用
- Class.forName的作用
- Class.forName()的作用
- Class.forName 的作用
- java class.forName的作用
- Class.forName()的作用
- Class.forName()的作用,好处?
- Class.forName()的作用是什么?
- 使用JDBC时Class.forName()的作用
- 使用JDBC时Class.forName()的作用
- Android问题集锦之三十五:ksoap2-android混淆报错
- 浅谈医学大数据(中)
- 计算一个九宫格没有右侧的方法
- Google反代理
- 友盟奔溃错误分析
- Class.forname的作用
- JAVA中Thread VS Runnalbe
- Android Fragment 真正的完全解析(下)
- 汉字转换为拼音
- hadoop2.6安装篇(hadoop平台搭建)
- Spring之IOC实现原理
- 获取相册图片的路径和图片的名字
- 【thinkPHP3.1.2】关于文件上传路径
- sscanf 其实很强大