- 浏览: 215093 次
- 性别:
文章分类
- 全部博客 (213)
- jsp (2)
- 数据库 (3)
- photoshop cs4破解 (0)
- 关闭windows更新 (1)
- myeclipes开发经验总结 (1)
- 再次探究Unicode与ASCII编码 (1)
- hp probook 4411s电脑在用光盘安装时没有镜像问题 (1)
- hp probook 4411s电脑在xp系统下安装快捷键的问题 (1)
- 关于双系统和三系统的安装 (1)
- win7下个性化透明度的修改 (1)
- 原型开发工具axure (1)
- 将数据库表间关系导入到visio (1)
- word中自动生成目录 (1)
- 数据库日志文件已满的处理方法及更改数据库日志文件大小的方法 (1)
- 关于数据库语句insert的总结 (1)
- SQL Server2005创建登录名 (1)
- 登录名登陆时出现无法打开用户默认数据库登录失败 (1)
- 登录名登陆时出现 sql server 2005 sa登录报错:已成功与服务器建立连接,但是在登录过程中发生错误。 (1)
- 对于在写文章时标号的使用 (0)
- 对于论文word排版的技巧 (1)
- 求职简历的书写 (1)
- 惠普HP 4411s拆机 图文教程 (适用于4411s、4410s、4416s、4510s、4311s拆机) (1)
- 学术论文各部分的写作要求与写作方法 (1)
- 毕业论文的规范 (1)
- 对于在写文章时标号的使用(学术性论文) (0)
- 对于在写论文时标号的使用(学术性论文以及毕业论文) (1)
- 终止正要运行的程序 (1)
- : Address already in use: JVM_Bind (端口被占用) (1)
- 关于用myeclipes开发jsp程序时的问题 (1)
- 在连接数据库时出现此驱动程序不支持 Java Runtime Environment (JRE) 1.6 版。请使用支持 JDBC 4.0 (1)
- 关于数据表命名以及在网页中显示的图片命名问题 (1)
- 关于jsp中数据库的连接问题 (1)
- win7下建立无线网络(一网多人共享) (1)
- Adobe dreamweaver cs5 photoshop cs5的破解文件以及注册号 (0)
- Windows 使用技巧之WinZIP密码破解 (1)
- 破解WINRAR以及去除购买提示的方法 (1)
- win7激活 (0)
- win7(ultimate)激活 (0)
- 去除windows7安全提示的方法 (1)
- u盘上的操作系统(winpe的制作) (1)
- 将数据库表间关系导出到visio (1)
- css+div中三列自适应宽度问题 (1)
- css+div小小总结 (1)
- Adobe dreamweaver cs5 photoshop cs5的破解文件 以及注册号 (0)
- 每次开机都会出现 “C:\WINDOWS\system32\source\系统程序勿删除.vbs ” (1)
- sql server 2005中int char varchar nvarchar 的区别 (1)
- dos命令以及制作.bat文件 (1)
- 一键清理系统垃圾.bat文件 (1)
- jsp的email功能 (1)
- 数据库连接池 (1)
- JAVA_HOME和TOMCAT_HOME (1)
- 查看计算机的网络信息 (1)
- 关于jcreator的问题 (1)
- java中main函数的作用 (1)
- 堆和栈的区别 (1)
- 连接数据库sql server 2005时端口的问题 (1)
- 对于html中form表单的认识 (1)
- 连接数据库驱动时的.newInstance() (1)
- Displaytag详解 (1)
- xml文件的配置 (1)
- server.xml文件的配置 (1)
- tomcat中conf中的context.xml的配置 (1)
- Web.xml文件配置详解 (1)
- tomcat 7: IllegalArgumentException: taglib definition not consistent with specification version (1)
- 数据库中创建自增列 (1)
- jsp中的分页问题 (1)
- 在jsp中null与("")的区别 (1)
- servlet中不同页面中传值的四种方式 (1)
- jsp中标签库的使用 (1)
- 广播域与冲突域 (1)
- Java容器类List、ArrayList、Vector及map、HashTable、HashMap分别的区别 (1)
- this的小问题 (1)
- 虚函数和虚基类、纯虚函数、抽象类抽象方法 ,动态绑定 (1)
- Overload和Override的区别 (1)
- NumberFormatException异常 (1)
- 在编程时的两个小问题 (1)
- 关于将数据库中的数据返回list的问题 (1)
- java ee 13种技术规范 (0)
- java ee 13种技术(规范) (1)
- JSP和Struts解决用户安全退出问题 (1)
- cookie的安全性问题 (1)
- 数据库操作返回值的问题 (1)
- java产生随机数 (1)
- 关于NoClassDefFoundError异常的问题 (1)
- java中的大树问题 (0)
- java中的大数问题 (1)
- NumberFormatException错误 (1)
- 两个小技巧 (0)
- 几个个网络中查看一些值(ip (1)
- arp (1)
- tcp (1)
- udp (1)
- mac等)小技巧 (1)
- js的使用小知识点 (1)
- myeclipse破解 (0)
- myeclipse编译问题 (1)
- servlet的部署问题 (1)
- 关于编码知识以及中文乱码的解决方案 (1)
- 关于javac与java命令的一个小问题 (1)
- css与div的比较 (1)
- 在写存储过程中注意的问题 (1)
- 项目开发中的几点规范 (1)
- java转义字符 (1)
- 移动字幕 (1)
- 动态网站功能模块介绍 (1)
- 什么是ajax (1)
- 图片查看器以及图片轮换代码收集 (1)
- 网站中的日历汇总 (1)
- javax.servlet.ServletException: File "/up.jsp" not found (1)
- 验证码 (1)
- jsp的几个小问题 (1)
- Jcreator Pro 4.50注册码 (1)
- javabean的自动生成 (1)
- res.sendRedirect()和req.getRequestDispatcher().forward(req (1)
- res)的区别 (1)
- 用displaytag组件实现分页详解 (1)
- 将已有项目导入myeclipse中 (1)
- uri url urn的原理及java实现 (1)
- java中object(String)类型转换为int (1)
- 对于out.print、out.println、out.write的理解 (1)
- 静态生成 (1)
- 获取字符串的特定字符 (1)
- 异常详细信息: System.Data.SqlClient.SqlException: 将截断字符串或二进制数据 (1)
- 把字符类型转换成时间类型 (1)
- The method getRealPath(String) from the type ServletRequest is deprecated (1)
- java中对于文件操作的总结 (1)
- servlet用jspsmart上传的时候获得pageContext对象 (1)
- jspSmartUpload上传下载 (1)
- 关于用jspSmartUpload控件上传文件并附带参数 (1)
- 关于数据库字段的设计 (1)
- 关于数据库的主外键 (1)
- 数据库的使用 (1)
- 让页面加载前执行js等事件 (1)
- JS页面跳转 (1)
- 有关于jsp中的包含页面 (1)
- 关于textarea的几点 (1)
- JSP数据和JavaScirpt数据交互使用问题的一种解决方法 (1)
- jsp中引用javascript中的变量和js中引用jsp的变量 (1)
- quote symbol expected错误 (1)
- div+css文字垂直居中 (1)
- 调用存储过程(转载) (1)
- Java调用SQL Server的存储过程详解 (1)
- execute、executeQuery和executeUpdate之间的区别 (1)
- 关于form表单与链接 (1)
- java程序的执行过程 (1)
- myeclipse设置快捷键 (1)
- 【摘】eclipse 中如何安装插件 (1)
- java.lang.IllegalArgumentException: Cannot format given Object as a Date (1)
- 常见数据库常用端口 (1)
- 用电脑建手机wifi(不用软件) (1)
- word如何自动生成目录 (1)
- sql server (mssqlserver)无法启动 (1)
- 如何删除自带的软件(包括联通定制机自带软件) (1)
- Oracle数据库、实例、用户、表空间、表之间的关系 (1)
- lt18i获得root权限 (1)
- 无法启动承载网络 连接到系统上的设备没有发挥作用 (1)
- XP with SP3 VOL 下载及密钥 (0)
- 开机时默认启动系统设置 (1)
- 对于目标文件系统,文件XXXXX过大 (1)
- 只有ie能上网,其他浏览器和软件都不能 (1)
- j2me搭建环境 (1)
- asp连接sql server数据库方式 (1)
- 清除cookie和flashcookie (1)
- 不能上网的一个原因 (1)
- 新增迅雷下载地址:Objective-c/iOS/iphone开发视频教程迅雷/高速下载 (1)
- ie不能上网 (1)
- 五款免费VPN介绍 (0)
- Java处理多人同时读写文件的文件锁处理 (1)
- 去除开机后出现拨号连接提示框 (1)
- 关于eclipse编码的问题 (1)
- eclipse tomcat的使用 (1)
- Eclipse中将web项目发布到Tomcat webapps (1)
- The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: (1)
- 警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} (1)
- Eclipse下Tomcat插件的安装 (1)
- 无法启动程序,因为计算机中丢失MSVCP71.DLL (1)
- oracle 10g的安装与卸载 (1)
- ORA-12154: TNS: 无法解析指定的连接标识符 (2)
- oracle客户端plsql的使用方法 (1)
- Eclipse自动生成UML图 (1)
- win7开通远程桌面访问 (1)
- 在远程连接时提示“您的凭据不工作”怎么办 (1)
- java.util.ConcurrentModificationException (1)
- java关于xml操作的一点理解 (1)
- Exception:Content is not allowed in prolog (1)
- java.net.SocketException: Connection reset (1)
- java FTPClient的使用 (1)
- 三种tomcat部署项目的方法 (1)
- excel冻结窗格 (1)
- java中获取系统属性以及环境变量 (1)
- 安裝 AnyConnect 時出現錯誤訊息「The VPN client agent was unable to create the interprocess communication depot.」 (1)
- linux 与windows实现端口转发 (1)
- TTL expired in transit (1)
- route add 行业应用 (1)
- java 数字证书操作(转) (1)
- Software caused connection abort: recv failed 一种解决办法 (1)
- inputStream对象的available()方法 (1)
- web.xml 中的listener、 filter、servlet 加载顺序及其详解 (1)
- java.lang.NumberFormatException: For input string: "" (1)
- ajax向后台传中文报错 (1)
- 刷新父窗口方法 (1)
- [转载]Eclipse-修改工程名 (1)
- 内存溢出之Tomcat内存配置(转) (1)
- forword 和redirect的区别(转) (1)
- 页面中禁用鼠标右键和回格键 (1)
- 中文乱码 (1)
- 父页面刷新问题 (1)
- spring 事务管理 (1)
- 关于异常类型 (1)
- 关于systeminfo的使用 (1)
- https及ca证书 (1)
- sql限制总结 (1)
- Cannot assign requested address出现的原因及解决方案 (转) (1)
- du与df的区别(转载) (1)
- jvm内存模型及可能出现的内存溢出 (1)
- 高并发下的oom killer (1)
- oracle如何看执行计划 (1)
- 关于批量作业中遇到的问题 (1)
- 浅谈应用日志 (1)
- 自认证证书的创建 (1)
- java集合应用 (0)
- java多线程 (0)
- 高并发思考 (0)
- 关于java IO (0)
- 加装ssd不重装系统,系统迁移 (1)
- linux下查看jdk版本 (1)
- linux内存 (1)
- pdm的使用 (0)
- mysql不走索引的原因 (0)
- java字符编码 (0)
- mysql视图效率优化 (1)
最新评论
-
hualom:
...
Displaytag详解
在连接数据库驱动时有这样一句话,
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
.newInstance()一般情况加不加没什么区别,不过一般都加上,这是主动将driverName载入虚拟机,成为运行于'全局'的实例,
如果只是driverName dn = new driverName();
那只有在调用此类时才会装载入虚拟机,运行完后可能会被虚拟机垃圾回收
new与newInstance()的区别?
在初始化一个类,生成一个实例的时候,newInstance()方法和new关键字除了一个是方法,一个是关键字外,最主要有什么区别?它们的 区别在于创建对象的方式不一样,前者是使用类加载机制,后者是创建一个新类。那么为什么会有两种创建对象方式?这主要考虑到软件的可伸缩、可扩展和可重用 等软件设计思想。
Java中工厂模式经常使用newInstance()方法来创建对象,因此从为什么要使用工厂模式上可以找到具体答案。 例如:
class c = Class.forName(“Example”);
factory = (ExampleInterface)c.newInstance();
其中ExampleInterface是Example的接口,可以写成如下形式:
String className = "Example";
class c = Class.forName(className);
factory = (ExampleInterface)c.newInstance();
进一步可以写成如下形式:
String className = readfromXMlConfig; //从xml 配置文件中获得字符串
class c = Class.forName(className);
factory = (ExampleInterface)c.newInstance();
上面代码已经不存在Example的类名称,它的优点是,无论Example类怎么变化,上述代码不变,甚至可以更换Example的兄弟类 Example2 , Example3 , Example4……,只要他们继承ExampleInterface就可以。
从 JVM的角度看,我们使用关键字new创建一个类的时候,这个类可以没有被加载。但是使用newInstance()方法的时候,就必须保证:1、这个类 已经加载; 2、这个类已经连接了。而完成上面两个步骤的正是Class的静态方法forName()所完成的,这个静态方法调用了启动类加载器,即加载java API的那个加载器。
现在可以看出,newInstance()实际上是把new这个方式分解为两步,即首先调用Class加载方法 加载某个类,然后实例化。 这样分步的好处是显而易见的。我们可以在调用class的静态加载方法forName时获得更好的灵活性,提供给了一种降耦的手段。
最后用最简单的描述来区分new关键字和newInstance()方法的区别:
newInstance: 弱类型。低效率。只能调用无参构造。
new: 强类型。相对高效。能调用任何public构造。
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
.newInstance()一般情况加不加没什么区别,不过一般都加上,这是主动将driverName载入虚拟机,成为运行于'全局'的实例,
如果只是driverName dn = new driverName();
那只有在调用此类时才会装载入虚拟机,运行完后可能会被虚拟机垃圾回收
new与newInstance()的区别?
在初始化一个类,生成一个实例的时候,newInstance()方法和new关键字除了一个是方法,一个是关键字外,最主要有什么区别?它们的 区别在于创建对象的方式不一样,前者是使用类加载机制,后者是创建一个新类。那么为什么会有两种创建对象方式?这主要考虑到软件的可伸缩、可扩展和可重用 等软件设计思想。
Java中工厂模式经常使用newInstance()方法来创建对象,因此从为什么要使用工厂模式上可以找到具体答案。 例如:
class c = Class.forName(“Example”);
factory = (ExampleInterface)c.newInstance();
其中ExampleInterface是Example的接口,可以写成如下形式:
String className = "Example";
class c = Class.forName(className);
factory = (ExampleInterface)c.newInstance();
进一步可以写成如下形式:
String className = readfromXMlConfig; //从xml 配置文件中获得字符串
class c = Class.forName(className);
factory = (ExampleInterface)c.newInstance();
上面代码已经不存在Example的类名称,它的优点是,无论Example类怎么变化,上述代码不变,甚至可以更换Example的兄弟类 Example2 , Example3 , Example4……,只要他们继承ExampleInterface就可以。
从 JVM的角度看,我们使用关键字new创建一个类的时候,这个类可以没有被加载。但是使用newInstance()方法的时候,就必须保证:1、这个类 已经加载; 2、这个类已经连接了。而完成上面两个步骤的正是Class的静态方法forName()所完成的,这个静态方法调用了启动类加载器,即加载java API的那个加载器。
现在可以看出,newInstance()实际上是把new这个方式分解为两步,即首先调用Class加载方法 加载某个类,然后实例化。 这样分步的好处是显而易见的。我们可以在调用class的静态加载方法forName时获得更好的灵活性,提供给了一种降耦的手段。
最后用最简单的描述来区分new关键字和newInstance()方法的区别:
newInstance: 弱类型。低效率。只能调用无参构造。
new: 强类型。相对高效。能调用任何public构造。
相关推荐
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); //Sql Server7.0/2000数据库 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); //DB2数据库 Class....
将数据库的 JDBC 驱动加载到 classpath 中,在基于 JAVAEE 的 WEB 应用库产品的 JDBC 驱动复制到 WEB-INF/lib 下 . 加载 JDBC 驱动,并将其注册到 DriverManager 中,下面是一些主流数 //Oracle8/8i/9iO 数据库 ...
//加载数据库驱动 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); //数据库连接url String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs"; //数据库...
access jar驱动连接数据库
直接导入包使用即可,代码如下,详细代码在压缩包里 try{ Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance
Class.forName(Driver).new Instance(); Connection con=DriverManager.getConnection(URL,Username,Password); Microsoft SQL Server 2.0驱动(3个jar的那个): String Driver=...
Java写了一个连接Access数据库的桌面程序,百度很长时间发现jdk1.8没有rt.jar,没法通过第一种方式jdbc:odbc方式连接access数据库,可以通过第四种方式驱动直连access。 实现步骤①外部jar包(Access_JDBC30.jar)导入...
一定将jdbc的驱动程序放到服务器的类路径里,然后要在数据库里建一个表test,有两个字段比如为test1,test2,可以用下面SQL建 create table test(test1 varchar(20),test2 varchar(20) 然后向这个表写入一条测试...
Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance(); String sConn="jdbc:jtds:sqlserver://localhost:1433/ch03"; String user = "sa"; String password = "123"; conn = DriverManager.get...
// 通过构造方法加载数据库驱动 static { try { Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance(); } catch (Exception ex) { System.out.println("数据库加载失败"); } } // ...
MySQL: ... //驱动程序 String URL="jdbc:mysql://localhost:3306/db_name"; //连接的URL,db_name为... Class.forName(Driver).new Instance(); Connection con=DriverManager.getConnection(URL,Username,Password);
MySQL: ... //驱动程序 String URL="jdbc:mysql://localhost:3306/db_name"?useUnicode=true&characterEncoding=UTF-8; //连接的URL,db_name为数据库名,注意修改编码... Class.forName(Driver).new Instance();
包函FileMaker数据库Java连接驱动 修改工程中的FileMaker安装地址就 可以用JAVA操作FileMaker 数据库 Driver d = (Driver)Class.forName("com.filemaker.jdbc.Driver").newInstance(); con = DriverManager.get...
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); System.out.println("数据库驱动程序注册成功!"); String url ="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=...
1、JDBC(Java Database Connection):java连接数据库统一接口API,底层主要通过直接的JDBC驱动和 JDBC-ODBC桥驱动实现与数据库的连接。 1>.JDBC驱动程序类型: <1>.JDBC-ODBC桥加ODBC驱动程序:需要ODBC驱动,适合...
// 定义连接数据库对象conn Connection conn = null; // 定义执行sql语句对象stmt Statement stmt = null; //定义结果集对象rs,用来保存查询的结果 ResultSet rs = null; try { // 通过反射...
Class.forName(driver).newInstance(); 注册SybDriver类。 DriverManager.registerDriver(sybdriver); 取得连接(SybConnection)对象引用。 user="sa"; password=""; url="jdbc:sybase:Tds:202.117.203....
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); } catch (Exception e) { e.printStackTrace(); System.out.println("加载数据库驱动失败!"); } } /* 创建...
数据库驱动装了吗(我使用的是SQLserver)?你该没有使用Linux吧?虽然java支持Linux,但是老兄我可没有使用Linux哟(这同JAVA的Write Once ,Run Anywhere没有关系),由于使用了运行于Win下面的ODBC,我建议你看看这...
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();//装载驱动 String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test";//建立连接字符串 Connection conn=...