社区
Web 开发
帖子详情
Class.forName("")的.instance()有什么用处
bbshero
2003-08-22 04:17:29
Class.forName("")的
.instance()函数有什么用处,为什么连接odbc时就不用
而连接oracle时就必须用?
...全文
32
8
打赏
收藏
Class.forName("")的.instance()有什么用处
Class.forName("")的 .instance()函数有什么用处,为什么连接odbc时就不用 而连接oracle时就必须用?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
diewikwang
2003-08-22
打赏
举报
回复
如果确实想用getInstance()来连接jdbc,也可以用这种办法
Driver driver = (Driver)Class.forName("xx").newInstance();
driver.connect();
yll6865
2003-08-22
打赏
举报
回复
我觉的:
连接oracle时,用Class.fornNme是验证是否有jdbc包,如果没有就可以产生异常。
但对于odbc,就不需要验证是否有jdbc包,它采用java.sql.*中的类
bbshero
2003-08-22
打赏
举报
回复
up
diewikwang
2003-08-22
打赏
举报
回复
如果这句是用于数据库连接,一般数据库的Driver class里面都会有一段
程序,这段程序把自己在jvm里面注册一下,以便在DriverManager.getConnection
的时候在jvm能找到适当的Driver。而这段代码估计是写在static{...}里面。
至于.getInstance()是生成一个实例了,这里应该是用无参数的构造函数来
建立一个实例。
Schlemiel
2003-08-22
打赏
举报
回复
Class.forName(className)方法显式要求classloader加载className代表的类。使用JDBC时,driver的实际类型是以字符串的形式传给JDBC库的,JDBC库通过反射调用driver的方法。如果classloader并没有实际加载driver的类,调用就会出错。所以在使用JDBC之前通常先用forName方法强制要求classloader加载driver类。
Class.newInstance()方法创建该类的一个实例,相当于调用该类的无参数构造子。在这里没有实际的作用,顶多也就是确保classloader的确加载了driver类吧。
Wkenny
2003-08-22
打赏
举报
回复
不需要的
njtu
2003-08-22
打赏
举报
回复
同样的疑惑?
cxjd
2003-08-22
打赏
举报
回复
好像instance()可有可无,但一般都把他给写上的
继续关注
java中
Class
.forName的作用浅谈
介绍了java中
Class
.forName的作用,有需要的朋友可以参考一下
Class
.forName()用法详解
目录 1.什么是
class
对象 2.获得
class
对象的三种方法 3.
class
的作用和方法 4
Class
.forName()用法 4.1 什么时候用
Class
.forName()? 4.2 new
Instance
和new关键字的区别 5 应用问题解析 情景一:载入数据库驱动的时候 情景二:使用AIDL与电话管理Servic进行通信 1.什么是
class
对象 类是程序的一部分,每个类都有一个
class
对象。换言之,每当编写并且编译了一个新类,就会产生一个
class
对象(更...
Composer (精进) composer.json组织架构
Composer (精进) composer.json组织架构,系统讲解了composer.json文件中所涉的所有字段。统一进行的梳理和分析。深入详细了学习了composer.json中的20多个属性。01 Composer (精进) composer.json 概述02 composer.json 组织架构 JSON 格式03 composer.json 属性 name 名称04 composer.json 字段 描述05 composer.json 字段 版本和类型06 composer.json 字段 关键字和主页07 composer.json 许可证 作者和支持08 composer.json 核心属性 依赖 require09 composer.json 依赖 require-dev10 composer.json 依赖 conflict冲突11 composer.json 依赖 replace 代替12 composer.json 依赖 提供和建议13 composer.json 自动加载 psr-414 composer.json 自动加载 psr-0 简单15 composer.json 自动加载 psr-0 复杂16 composer.json 自动加载 二级命名空间17 composer.json 自动加载 psr-0 深入 18 composer.json 自动加载
class
map19 composer.json 自动加载 files20 composer.json 自动加载 排除21 composer.json 自动加载 开发阶段22 composer.json 稳定性过滤23 composer.json 首选稳定24 composer.json 仓库地址本地配置25 composer.json 本地配置26 Composer (精进) composer.json 总结
关于
class
.forName().new
Instance
()的作用
1)
Class
.forName("");的作用是要求JVM查找并加载指定的类(java里面任何
class
都要装载在虚拟机上才能运行),如果在类中有静态初始化器的话,JVM必然会执行该类的静态代码段。在加载完成后,一般还要调用
Class
下的new
Instance
( )静态方法来实例化对象以便操作。构造函数是在当类被实例化的时候才会执行。
Class
.forName("")返回的是类 2)首先
Class
.forName()、
Class
.forName().new
Instance
() 、New
Class
.forName(xxx.xx.xx)返回的是一个类。
Class
.forName(xxx.xx.xx)的作用是要求JVM查找并加载指定的类,也就是说JVM会执行该类的静态代码段。 从JVM的角度看,我们使用关键字new创建一个类的时候,这个类可以没有被加载。但是使用new
Instance
()方法的时候,就必须保证:1、这个类已经加载; 2、这个类已经连接了。 ...
Web 开发
81,092
社区成员
341,718
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章