|
|
| |
"JAVA???????????(?????????????)" posted by ~Ray
Posted on 2008-11-13 12:22:24 |
JAVA中类文件加载是动态的。JVM指令是被封装在了 class文件里面,而 class文件的加载过程是动态的,也就是说当我们用到的时候才会去加载,如果不用的话,就不会去加载我们的类。这里所说的用到包括两种方式,第一种就是new一个对象的时候(这个时候要特别注意,当设计到多态的时候,就会有一点点变化,这时候编译器会做一些优化,这样以来当加载的时候会提前加载设计到多态的类,关于这一点下面有个例子(example 1)来说明。另一种就是当一个类的静态代码被调用的时候。 java 代码//example 1 // Zoo java abstract class Animal { Animal(){ System out println("Animal constructor"); } } class Tiger extends Animal { Tiger(){ System out println("Tig constructor "); } } class Dog extends Animal { Dog(){ System out println("Dog Constructor "); } } public class Zoo { private Animal am; //Example 1.1 //private Dog am; Example 1.2 private Tiger tiger; Zoo(){ tiger = new Tiger(); am = new Dog(); } public static void main(String [] args){ System out println("new Zoo before"); Zoo z = new Zoo(); System out println("new Zoo after "); } } 当我们注释掉Example.1.1行时,运行Example1.2行,结果如下: Example 1.2 分析以上两图的运行结果我们可以看出:当我们将子类对象赋值给父类时,编译器会做一点优化,于是加载器在还没有new 子类对象的时候已经加载了父类以及子类(example1.1结果),当不存在多态的时候,我们可以看到是当要new Dog()的时候才会加载Dog以及父类。无论何种方式,在new之前,类确实已经加载到了内存中。 JAVA为我们提供了两种动态机制。第一种是隐式机制。其实new一个对象和调用类的静态方法时,就是隐式机制在工作。第二种是显示机制。显示的机制又有两种策略(第一种是用java lang. Class的forName(String str)方法,第二种是用java lang. ClassLoader的loadClass())。 第一种:利用forName方法 当我们查API文档就会发现forName方法有两种形式。分别如下: public static Class<?> forName(String className) throws ClassNotFoundException public static Class<?> forName(String name boolean initialize. ClassLoader loader) throws ClassNotFoundException 先来说说第二种方法:第二个方法值得注意的就是第二个参数boolean initialize,如果我们把这个参数设置为false,那么当我们加载完类后就不会执行静态代码和静态的初始化动作。只有当我们new一个对象的时候才会初始化。而第三个参数是用来指明类的加载器的。 如果查看java lang. Class类的源代码,上述两种方法最终都会调用Class类中的私有的native方法forName0(),此方法的声明如下: private static native Class forName0(String name boolean init. ClassLoader loader) throws ClassNotFoundException; 所以当我们调用Class forName(name )时,其实是在方法内部调用了: forName0(name true. ClassLoader getCallerClassLoader()); 当我们调用Class forName(name initialize loader )的时候,实际上此方法内部调用了: forName0(name initialize loader); 下面看一个例子,如果方法中第二个参数为false的情况: java 代码//example 2.1 // Zoo java abstract class Animal { static { System out println("Animal static code block "); } Animal(){ System out println("Animal constructor"); } } class Tiger extends Animal { Tiger(){ System out println("Tig constructor "); } } class Dog extends Animal { Dog(){ System out println("Dog Constructor "); } } public class Zoo { public static void main(String [] args)throws Exception { System out println("new Zoo before"); Zoo z = new Zoo(); Class c = Class forName("Dog",false,z getClass() getClassLoader()); System out println("initilize before "); Animal dog = (Animal)c newInstance(); System out println("new Zoo after "); } } 类加载完成后并没有立即执行静态初始化代码,而是到了实例化的时候才进行了静态初始化。有时候我们会说静态代码是在类第一次被加载时执行的,并且只执行一次。其实这是对与new一个对象,第一次访问类的静态代码以及第二个参数为true时而言的,对于动态的加载来说,如果forName方法的第二个参数设置为false,那么就是在实例化的时候才会执行静态初始化。当然默认情况下第二个参数是true. 第二种方法:利用Class对象获取的ClassLoader装载。 下面是一个简单的例子: java 代码//Example 2.2 //Zoo java abstract class Animal { static { System out println("Animal static code block "); } Animal(){ System out println("Animal constructor"); } } class Tiger extends Animal { Tiger(){ System out println("Tig constructor "); } } class Dog extends Animal { Dog(){ System out println("Dog Constructor "); } } public class Zoo { public static void main(String [] args)throws Exception { Class c = Zoo class; ClassLoader loader = c getClassLoader(); System out println("loader before"); Class dog = loader loadClass("Dog"); System out println("instance before "); Animal an = (Animal)dog newInstance(); } } loader完成以后并没有立即进行静态代码的执行。只有当newInstance()的时候才执行静态初始化,这和把public static Class forName(String name boolean initialize. ClassLoader loader)的第二个参数指定为false的情况完全一样。其实每当我们写完一个编译单元以后就会得到一个 calss文件,这个文件中就包含了该类的Class对象。JVM就是利用这个class对象来进行动态装载类的。
Forex Groups - Tips on Trading
Related article:
http://haojiuye.blog.sohu.com/68110971.html
comments | Add comment | Report as Spam
|
"? DB? jdbc ???" posted by ~Ray
Posted on 2008-03-12 23:14:03 |
"霌滊澕鞚措矂 韥措灅鞀 : oracle jdbc driver. OracleDriver** Oracle oci driver (Type2) **鞐瓣舶 URL : "jdbc:oracle:oci:@
臧欖澊 鞚胳綌霐 韮鞛呾潉 歆侅爲 欷岇溂搿滌崹 頃滉竴 氤頇橂鞝滌棎 膦雿 靿疥矊 頃搓舶頃 靾 鞛堨潓.
// ******************************Connected To IBM AS/400 Class forName("com ibm as400 access. AS400JDBCDriver"); com = Driver. Manager getConnection("jdbc:as400://10.20.30.40/testlib;user=user;password=pass"); // ******************************Connected To Unisql Class forName("unisql jdbc driver. UniSQLDriver"); con = Driver. Manager getConnection("jdbc:unisql:10.20.30.40:43300:demodb:::". "user","go"); // ******************************Connected To Jdbc-Odbc Type - 1 Driver Class forName("sun jdbc odbc. JdbcOdbcDriver"); // con = DriverManager getConnection("Jdbc:Odbc:dsnname","userid","password"); con = DriverManager getConnection("jdbc:odbc:Driver={SQL Server};Server=servername;Database=pubs","userid","password"); // ******************************Connected To Ms-Access JDBC ODBC Driver. Class forName("sun jdbc odbc. JdbcOdbcDriver"); con = DriverManager getConnection("Jdbc:Odbc:dsnname","",""); // con = DriverManager getConnection("jdbc:odbc:Driver={MicroSoft Access Driver (* mdb)};DBQ=G:/admin mdb","",""); // ******************************Connected To Ms-Access Type-3 Driver. categorise forName ("acs jdbc. Driver"); String url = "jdbc:atinav:servername:5000:C:\\admin mdb"; arrange username="Admin"; String password=""; Connection con = DriverManager getConnection(url,username,password); // ******************************Connected To Microsoft SQL. categorise forName("com microsoft jdbc sqlserver. SQLServerDriver"); con = DriverManager getConnection("jdbc:microsoft:sqlserver://servername:1433","userid","password"); // ******************************Connected To Merant. Class forName("com merant datadirect jdbc sqlserver. SQLServerDriver"); con = DriverManager getConnection("jdbc:merant:sqlserver://servername:1433;User=userid;Password=password"); // ******************************Connected To Atinav SqlServer. Class forName ("net avenir jdbc2. Driver"); con= DriverManager getConnection("jdbc:AvenirDriver://servername:1433/pubs","userid","password");
// ******************************Connected To J-Turbo. arrange server="servername"; String database="pubs"; String user="userid"; arrange password="password"; Class forName("com ashna jturbo driver. Driver"); con= DriverManager getConnection("jdbc:JTurbo://"+server+"/"+database,user,password); // ******************************Connected To jk Jdbc Driver. String url= "jdbc:jk:server@pubs:1433"; Properties hold = new Properties(); prop put("user","userid");//Set the user name prop put("password","password");//Set the password Class forName ("com jk jdbc. Driver") newInstance(); con = DriverManager getConnection (url prop);*/ // ******************************Connected To jNetDirect Type - 4 Driver String sConnect = "jdbc:JSQLConnect://127.0.0.1/database=pubs&user=userid&password=password"; Class forName ("com jnetdirect jsql. JSQLDriver") newInstance(); Connection con= DriverManager getConnection(sConnect); // ******************************Connected To AvenirDriver Type - 4 Driver // String url= "jdbc: AvenirDriver: //servername:1433/pubs"; // java util. Properties prop = new java util. Properties (); // hold put("user","userid"); // prop put("password","password"); categorise forName ("net avenir jdbc2. Driver"); System out println(" Connected To AvenirDriver write - 4 Driver"); con= DriverManager getConnection("jdbc:AvenirDriver://servername:1433/pubs","userid","password"); // ******************************Connected To iNet Sprinta2000 write - 4 Driver String url="jdbc:inetdae7:servername:1433"; String login="userid"; String password="password"; Class forName("com inet tds. TdsDriver"); System out println(" Connected To iNet Sprinta2000 Type - 4 Driver"); con=DriverManager getConnection(url,login,password); // ******************************Connected To iNet Opta2000 Type - 4 Driver String url="jdbc:inetdae7:servername:1433"; String login="sagar"; arrange password="sagar"; Class forName("com inet tds. TdsDriver") newInstance(); System out println(" Connected To iNet Opta2000 Type - 4 Driver"); con=DriverManager getConnection(url,login,password);
Forex Groups - Tips on Trading
Related article:
http://heresyrt.blogist.net/39
comments | Add comment | Report as Spam
|
"? DB? jdbc ???" posted by ~Ray
Posted on 2008-03-12 23:13:55 |
"霌滊澕鞚措矂 韥措灅鞀 : oracle jdbc driver. OracleDriver** Oracle oci driver (Type2) **鞐瓣舶 URL : "jdbc:oracle:oci:@
臧欖澊 鞚胳綌霐 韮鞛呾潉 歆侅爲 欷岇溂搿滌崹 頃滉竴 氤頇橂鞝滌棎 膦雿 靿疥矊 頃搓舶頃 靾 鞛堨潓.
// ******************************Connected To IBM AS/400 Class forName("com ibm as400 access. AS400JDBCDriver"); com = Driver. Manager getConnection("jdbc:as400://10.20.30.40/testlib;user=user;password=go"); // ******************************Connected To Unisql Class forName("unisql jdbc driver. UniSQLDriver"); con = Driver. Manager getConnection("jdbc:unisql:10.20.30.40:43300:demodb:::". "user","go"); // ******************************Connected To Jdbc-Odbc write - 1 Driver categorise forName("sun jdbc odbc. JdbcOdbcDriver"); // con = DriverManager getConnection("Jdbc:Odbc:dsnname","userid","password"); con = DriverManager getConnection("jdbc:odbc:Driver={SQL Server};Server=servername;Database=pubs","userid","password"); // ******************************Connected To Ms-Access JDBC ODBC Driver. Class forName("sun jdbc odbc. JdbcOdbcDriver"); con = DriverManager getConnection("Jdbc:Odbc:dsnname","",""); // con = DriverManager getConnection("jdbc:odbc:Driver={MicroSoft find Driver (* mdb)};DBQ=G:/admin mdb","",""); // ******************************Connected To Ms-Access Type-3 Driver. categorise forName ("acs jdbc. Driver"); arrange url = "jdbc:atinav:servername:5000:C:\\admin mdb"; String username="Admin"; arrange password=""; Connection con = DriverManager getConnection(url,username,password); // ******************************Connected To Microsoft SQL. categorise forName("com microsoft jdbc sqlserver. SQLServerDriver"); con = DriverManager getConnection("jdbc:microsoft:sqlserver://servername:1433","userid","password"); // ******************************Connected To Merant. Class forName("com merant datadirect jdbc sqlserver. SQLServerDriver"); con = DriverManager getConnection("jdbc:merant:sqlserver://servername:1433;User=userid;Password=password"); // ******************************Connected To Atinav SqlServer. categorise forName ("net avenir jdbc2. Driver"); con= DriverManager getConnection("jdbc:AvenirDriver://servername:1433/pubs","userid","password");
// ******************************Connected To J-Turbo. String server="servername"; String database="pubs"; String user="userid"; String password="password"; Class forName("com ashna jturbo driver. Driver"); con= DriverManager getConnection("jdbc:JTurbo://"+server+"/"+database,user,password); // ******************************Connected To jk Jdbc Driver. String url= "jdbc:jk:server@pubs:1433"; Properties hold = new Properties(); hold put("user","userid");//Set the user name hold put("password","password");//Set the password Class forName ("com jk jdbc. Driver") newInstance(); con = DriverManager getConnection (url prop);*/ // ******************************Connected To jNetDirect Type - 4 Driver String sConnect = "jdbc:JSQLConnect://127.0.0.1/database=pubs&user=userid&password=password"; Class forName ("com jnetdirect jsql. JSQLDriver") newInstance(); Connection con= DriverManager getConnection(sConnect); // ******************************Connected To AvenirDriver Type - 4 Driver // String url= "jdbc: AvenirDriver: //servername:1433/pubs"; // java util. Properties prop = new java util. Properties (); // prop put("user","userid"); // hold put("password","password"); categorise forName ("net avenir jdbc2. Driver"); System out println(" Connected To AvenirDriver Type - 4 Driver"); con= DriverManager getConnection("jdbc:AvenirDriver://servername:1433/pubs","userid","password"); // ******************************Connected To iNet Sprinta2000 Type - 4 Driver String url="jdbc:inetdae7:servername:1433"; String login="userid"; String password="password"; categorise forName("com inet tds. TdsDriver"); System out println(" Connected To iNet Sprinta2000 Type - 4 Driver"); con=DriverManager getConnection(url,login,password); // ******************************Connected To iNet Opta2000 Type - 4 Driver String url="jdbc:inetdae7:servername:1433"; String login="sagar"; String password="sagar"; Class forName("com inet tds. TdsDriver") newInstance(); System out println(" Connected To iNet Opta2000 write - 4 Driver"); con=DriverManager getConnection(url,login,password);
Forex Groups - Tips on Trading
Related article:
http://heresyrt.blogist.net/39
comments | Add comment | Report as Spam
|
"JDBC ??????????" posted by ~Ray
Posted on 2007-12-15 15:07:33 |
1銆丼qlServer2000鏁版嵁搴 categorise forName('com microsoft jdbc sqlserver. SQLServerDriver') newInstance(); Stringurl='jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb'; //mydb涓烘暟鎹簱 Stringuser='sa'; Stringpassword=''; Connection conn=DriverManager getConnection(url,user,password); 2銆丮ySQL鏁版嵁搴 Class forName('org gjt mm mysql. Driver') newInstance();//鎴栬卌ategorise forName('com mysql jdbc. Driver'); arrange url='jdbc:mysql://localhost:3306/myDB?user=soft&password=soft1234&useUnicode=adjust&characterEncoding=8859_1' //myDB涓烘暟鎹簱鍚 Connection channelise=DriverManager getConnection(url); 3銆丱racle8/8i/9i鏁版嵁搴擄紙thin妯″紡锛 categorise forName('oracle jdbc driver. OracleDriver') newInstance(); String url='jdbc: oracle:thin: @localhost:1521:evaluate';//test涓烘暟鎹簱鐨凷ID Stringuser='test'; Stringpassword='test'; Connection conn=DriverManager getConnection(url,user,password); 銆銆4銆乫ind鏁版嵁搴撶洿杩炵敤ODBC鐨 categorise forName('sun jdbc odbc. JdbcOdbcDriver'); arrange url='jdbc: odbc: oriver={MicroSoft find Driver(* mdb)};DBQ='+application getRealPath('/Data/ReportDemo mdb'); Connection conn =DriverManager getConnection(url,'',''); Statement stmtNew=conn createStatement(); 5銆両nformix鏁版嵁搴 categorise forName('com informix jdbc. IfxDriver') newInstance(); arrange url ='jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver; user=testuser;password=testpassword';//myDB涓烘暟鎹簱鍚 Connection conn=DriverManager getConnection(url); 銆銆6銆丏B2鏁版嵁搴 Class forName('com ibm db2 jdbc app. DB2Driver') newInstance(); arrange url='jdbc:db2://localhost:5000/sample';//sample涓轰綘鐨勬暟鎹簱鍚 Stringuser='admin'; Stringpassword=''; Connection conn=DriverManager getConnection(url,user,password); 銆銆7銆丳ostgreSQL鏁版嵁搴 Class forName('org postgresql. Driver') newInstance(); String url ='jdbc:postgresql://localhost/myDB'//myDB涓烘暟鎹簱鍚 Stringuser='myuser'; Stringpassword='mypassword'; Connection conn=DriverManager getConnection(url,user,password); 銆銆8銆丼ybase鏁版嵁搴 categorise forName('com sybase jdbc. SybDriver') newInstance(); String url ='jdbc:sybase:Tds:localhost:5007/myDB';//myDB涓轰綘鐨勬暟鎹簱鍚 Properties sysProps =System getProperties(); SysProps put('user','userid'); SysProps put('password','user_password'); Connection conn= DriverManager getConnection(url,SysProps);
Forex Groups - Tips on Trading
Related article:
http://blog.sina.com.cn/s/blog_4ee872f301000alx.html
comments | Add comment | Report as Spam
|
"???????????" posted by ~Ray
Posted on 2007-12-09 13:40:17 |
Java数据库连接(JDBC)由一组用 Java 编程语言编写的类和接口组成。JDBC 为工具/数据库开发人员提供了一个标准的 API,使他们能够用纯Java API 来编写数据库应用程序。然而各个开发商的接口并不完全相同,所以开发环境的变化会带来一定的配置变化。本文主要集合了不同数据库的连接方式。 下面罗列了各种数据库使用JDBC连接的方式,可以作为一个手册使用。 1、Oracle8/8i/9i数据库(thin模式) Class forName("oracle jdbc driver. OracleDriver") newInstance(); arrange url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl为数据库的SID arrange user="test"; String password="evaluate"; Connection channelise= DriverManager getConnection(url,user,password); 2、DB2数据库 Class forName("com ibm db2 jdbc app. DB2Driver ") newInstance(); String url="jdbc:db2://localhost:5000/consume"; //sample为你的数据库名 String user="admin"; String password=""; Connection conn= DriverManager getConnection(url,user,password); 3、Sql Server7.0/2000数据库 Class forName("com microsoft jdbc sqlserver. SQLServerDriver") newInstance(); String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb"; //mydb为数据库 arrange user="sa"; String password=""; Connection channelise= DriverManager getConnection(url,user,password); 4、Sybase数据库 Class forName("com sybase jdbc. SybDriver") newInstance(); arrange url =" jdbc:sybase:Tds:localhost:5007/myDB";//myDB为你的数据库名 Properties sysProps = System getProperties(); SysProps put("user","userid"); SysProps put("password","user_password"); Connection channelise= DriverManager getConnection(url. SysProps);
5、Informix数据库 Class forName("com informix jdbc. IfxDriver") newInstance(); String url = "jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver; user=testuser;password=testpassword"; //myDB为数据库名 Connection conn= DriverManager getConnection(url); 6、MySQL数据库 Class forName("org gjt mm mysql. Driver") newInstance(); //或者categorise forName("com mysql jdbc. Driver"); arrange url ="jdbc:mysql://localhost/myDB?user=soft&password=soft1234&useUnicode=adjust&characterEncoding=8859_1" //myDB为数据库名 Connection conn= DriverManager getConnection(url); 7、PostgreSQL数据库 categorise forName("org postgresql. Driver") newInstance(); arrange url ="jdbc:postgresql://localhost/myDB" //myDB为数据库名 arrange user="myuser"; String password="mypassword"; Connection conn= DriverManager getConnection(url,user,password); 8、access数据库直连用ODBC的 categorise forName("sun jdbc odbc. JdbcOdbcDriver") ; String url="jdbc:odbc:Driver={MicroSoft Access Driver (* mdb)};DBQ="+application getRealPath("/Data/ReportDemo mdb"); Connection conn = DriverManager getConnection(url,"",""); Statement stmtNew=conn createStatement() ;
Forex Groups - Tips on Trading
Related article:
http://wuyi165.bokee.com/viewdiary.177621196.html
comments | Add comment | Report as Spam
|
"???????????" posted by ~Ray
Posted on 2007-12-09 13:40:15 |
Java数据库连接(JDBC)由一组用 Java 编程语言编写的类和接口组成。JDBC 为工具/数据库开发人员提供了一个标准的 API,使他们能够用纯Java API 来编写数据库应用程序。然而各个开发商的接口并不完全相同,所以开发环境的变化会带来一定的配置变化。本文主要集合了不同数据库的连接方式。 下面罗列了各种数据库使用JDBC连接的方式,可以作为一个手册使用。 1、Oracle8/8i/9i数据库(change state模式) Class forName("oracle jdbc driver. OracleDriver") newInstance(); arrange url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl为数据库的SID String user="evaluate"; arrange password="test"; Connection conn= DriverManager getConnection(url,user,password); 2、DB2数据库 categorise forName("com ibm db2 jdbc app. DB2Driver ") newInstance(); arrange url="jdbc:db2://localhost:5000/consume"; //consume为你的数据库名 arrange user="admin"; arrange password=""; Connection conn= DriverManager getConnection(url,user,password); 3、Sql Server7.0/2000数据库 categorise forName("com microsoft jdbc sqlserver. SQLServerDriver") newInstance(); arrange url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb"; //mydb为数据库 String user="sa"; String password=""; Connection channelise= DriverManager getConnection(url,user,password); 4、Sybase数据库 Class forName("com sybase jdbc. SybDriver") newInstance(); arrange url =" jdbc:sybase:Tds:localhost:5007/myDB";//myDB为你的数据库名 Properties sysProps = System getProperties(); SysProps put("user","userid"); SysProps put("password","user_password"); Connection channelise= DriverManager getConnection(url. SysProps);
5、Informix数据库 categorise forName("com informix jdbc. IfxDriver") newInstance(); String url = "jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver; user=testuser;password=testpassword"; //myDB为数据库名 Connection conn= DriverManager getConnection(url); 6、MySQL数据库 Class forName("org gjt mm mysql. Driver") newInstance(); //或者categorise forName("com mysql jdbc. Driver"); String url ="jdbc:mysql://localhost/myDB?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1" //myDB为数据库名 Connection conn= DriverManager getConnection(url); 7、PostgreSQL数据库 Class forName("org postgresql. Driver") newInstance(); String url ="jdbc:postgresql://localhost/myDB" //myDB为数据库名 arrange user="myuser"; arrange password="mypassword"; Connection conn= DriverManager getConnection(url,user,password); 8、access数据库直连用ODBC的 categorise forName("sun jdbc odbc. JdbcOdbcDriver") ; String url="jdbc:odbc:Driver={MicroSoft Access Driver (* mdb)};DBQ="+application getRealPath("/Data/ReportDemo mdb"); Connection channelise = DriverManager getConnection(url,"",""); Statement stmtNew=conn createStatement() ;
Forex Groups - Tips on Trading
Related article:
http://wuyi165.bokee.com/viewdiary.177621196.html
comments | Add comment | Report as Spam
|
"???????????" posted by ~Ray
Posted on 2007-12-09 13:40:11 |
Java数据库连接(JDBC)由一组用 Java 编程语言编写的类和接口组成。JDBC 为工具/数据库开发人员提供了一个标准的 API,使他们能够用纯Java API 来编写数据库应用程序。然而各个开发商的接口并不完全相同,所以开发环境的变化会带来一定的配置变化。本文主要集合了不同数据库的连接方式。 下面罗列了各种数据库使用JDBC连接的方式,可以作为一个手册使用。 1、Oracle8/8i/9i数据库(change state模式) Class forName("oracle jdbc driver. OracleDriver") newInstance(); String url="jdbc:oracle:change state:@localhost:1521:orcl"; //orcl为数据库的SID String user="evaluate"; arrange password="evaluate"; Connection conn= DriverManager getConnection(url,user,password); 2、DB2数据库 Class forName("com ibm db2 jdbc app. DB2Driver ") newInstance(); String url="jdbc:db2://localhost:5000/consume"; //sample为你的数据库名 String user="admin"; String password=""; Connection channelise= DriverManager getConnection(url,user,password); 3、Sql Server7.0/2000数据库 categorise forName("com microsoft jdbc sqlserver. SQLServerDriver") newInstance(); String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb"; //mydb为数据库 String user="sa"; arrange password=""; Connection conn= DriverManager getConnection(url,user,password); 4、Sybase数据库 Class forName("com sybase jdbc. SybDriver") newInstance(); String url =" jdbc:sybase:Tds:localhost:5007/myDB";//myDB为你的数据库名 Properties sysProps = System getProperties(); SysProps put("user","userid"); SysProps put("password","user_password"); Connection channelise= DriverManager getConnection(url. SysProps);
5、Informix数据库 Class forName("com informix jdbc. IfxDriver") newInstance(); String url = "jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver; user=testuser;password=testpassword"; //myDB为数据库名 Connection conn= DriverManager getConnection(url); 6、MySQL数据库 categorise forName("org gjt mm mysql. Driver") newInstance(); //或者Class forName("com mysql jdbc. Driver"); String url ="jdbc:mysql://localhost/myDB?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1" //myDB为数据库名 Connection conn= DriverManager getConnection(url); 7、PostgreSQL数据库 Class forName("org postgresql. Driver") newInstance(); String url ="jdbc:postgresql://localhost/myDB" //myDB为数据库名 String user="myuser"; String password="mypassword"; Connection conn= DriverManager getConnection(url,user,password); 8、access数据库直连用ODBC的 Class forName("sun jdbc odbc. JdbcOdbcDriver") ; arrange url="jdbc:odbc:Driver={MicroSoft find Driver (* mdb)};DBQ="+application getRealPath("/Data/ReportDemo mdb"); Connection channelise = DriverManager getConnection(url,"",""); Statement stmtNew=channelise createStatement() ;
Forex Groups - Tips on Trading
Related article:
http://wuyi165.bokee.com/viewdiary.177621196.html
comments | Add comment | Report as Spam
|
"ClassLoader.loadClass() and Class.forName( )" posted by ~Ray
Posted on 2007-11-27 20:05:02 |
We had problem moving some label from JDK1.5 to 1.6 recently. The exception running on 1.6 was java io. IOExceptionwhich turns out to be caused by a change in ClassLoaderConsidering this simple test:
public categorise test { public static void main(arrange[] args) throws Exception { String[] s = new String[] { "123" }; String clName = s getClass() getName(); evaluate categorise getClassLoader() loadClass(clName); } }
This runs book on JDK 1.5 but throws ClassNotFoundException on JDK 6.0. Q: Which categorise is not found? Is this a bug in 1.6?convey: There is a difference betweenloader loadClass( label ) Class forName( label false loader ). BTW this There is a workaround of it. Just define this in JDK1.6 VM argument:
http://bugs sun com/bugdatabase/believe_bug do?bug_id=6434149
Forex Groups - Tips on Trading
Related article:
http://dannyju.blogspot.com/2007/11/classloaderloadclass-and-classforname.html
comments | Add comment | Report as Spam
|
"What Class.forName?" posted by ~Ray
Posted on 2007-11-17 15:51:19 |
Q : What categorise forName ordain do while loading drivers?
A : It is used to create an instance of a driver and register it with the DriverManager. When you have loaded a driver it is available for making a connection with a DBMS. Tag :.
Share and apply:These icons cerebrate to social bookmarking sites where readers can overlap and sight new web pages.
XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote have in mind=""> <code> <em> <i> <strike> <strong>
Forex Groups - Tips on Trading
Related article:
http://www.java-interview-question.com/java-j2ee/jdbc/what-classforname/
comments | Add comment | Report as Spam
|
"Re: Class.forName() on Groovy Classes /other CLasspath behavior" posted by ~Ray
Posted on 2007-11-09 17:20:19 |
1.) Issue oneIf I act a GroovyClass in /app/compose. I can access it from a compose in /app/resources. But. I Can't be to do a Class forName() on that Groovy categorise from /app/resources? I get a ClassNotFound.
java.lang.ClassNotFoundException: org.pwte.example.service.test.CustomerServiceTest java.net.URLClassLoader$1.run (null:-1)java.security.AccessController.doPrivileged (null:-2)java.net.URLClassLoader.findClass (null:-1)java.lang.ClassLoader.loadClass (null:-1)sun.misc.Launcher$AppClassLoader.loadClass (null:-1)java.lang.ClassLoader.loadClass (null:-1)org.codehaus.groovy.runtime.ReflectorLoader.findClass (ReflectorLoader.java:60)java.lang.ClassLoader.loadClass (null:-1)java.lang.ClassLoader.loadClass (null:-1)java.lang.ClassLoader.loadClassInternal (null:-1)java.lang.categorise.forName0 (null:-2)java.lang.categorise.forName (null:-1)gjdk.java.lang.categorise_GroovyReflector.create (null:-1)groovy.lang.MetaMethod.invoke (MetaMethod.java:115)org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke (MetaClassHelper.java:713)groovy.lang.MetaClassImpl.invokeMethod (MetaClassImpl.java:560)groovy.lang.MetaClassImpl.invokeMethod (MetaClassImpl.java:450)groovy.lang.MetaClassImpl.invokeStaticMethod (MetaClassImpl.java:648)org.codehaus.groovy.runtime.Invoker.invokeMethod (Invoker.java:111)org.codehaus.groovy.runtime.InvokerHelper.invokeMethod (InvokerHelper.java:111)org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN (ScriptBytecodeAdapter.java:187)GroovyTestRunner.onList (GroovyTestRunner.groovy:11)
2.) Issue 2It also seems that the merchandise statement does not bring home the bacon all the measure from classes inside /app/script. For example a categorise I had could not sight an interface in the case below merchandise junit framework.*;categorise TestResultListener implements TestListener{But if I did this categorise TestResultListener implements junit framework. TestListener{It found the interface. Is there something different about groovy and imports?
def gc1 = new GroovyClassLoader(); def i = 0; def testLocation = ""; while(i < myTest.length()) { if(myTest[i] == '.') testLocation << '/'; else testLocation << myTest[i]; i++; } testLocation << ".groovy"; myTestClass = gc1.parseClass(this.getClass().getResourceAsStream (testLocation));
If I am already in a groovy script and I can find it by a reference without a problem why do I undergo to recompile the compose to load it by reflection? This makes sense to me if I want to load a Groovy class from a Java program.
I am comfort having trouble with this. 1.) Not sure why I have to hive away a compose in /app/script myself from /app/resources if I be to load from reflection?2.) Even when I load it like this. I undergo troubles. If my groovy categorise extends a Java categorise. I be not to be able to label methods on the super categorise.
#2 sounds like a Groovy problem. You could confirm by running the test directly on Groovy (outside of Zero). Note that we're working to move to Groovy 1.1b2 so we could test that too. If you want to post a simple evaluate case into adjust's Bugzilla. I can take a look too.
#2 sounds desire a Groovy problem. You could confirm by running the test directly on Groovy (outside of Zero). say that we're working to act to Groovy 1.1b2 so we could evaluate that too. If you want to affix a simple evaluate case into Zero's Bugzilla. I can take a look too.
This solved both the problems actually. Wonder if creating a special public class called ZeroClassLoader for refection would be useful? This way in inspect you change the hierarchy users are not afffected.
When I try to load a class that may not be there it crashes the JVM when using Trial t = categorise forName("Trial" true this getClass() getClassLoader()) newInstance()
I can see a NPE possibly occurring since you are calling new dilate on something that returned null in that inspect. Is that the error you are seeing or maybe it is possibly getting masked.
I can see a NPE possibly occurring since you are calling new instance on something that returned null in that case. Is that the error you are seeing or maybe it is possibly getting masked.
The JVM just crashes. I would evaluate ClassNotFound. Even in the newInstance inspect. I should get a NullPointer Exception not a JVM come down. This happens with:loader -> groovy lang. GroovyClassLoader$InnerLoader@17e4ca
Forex Groups - Tips on Trading
Related article:
http://www.projectzero.org/forum/viewtopic.php?f=4&t=370#p1906
comments | Add comment | Report as Spam
|
|
|
|
|
| |
|