欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

java中Class.forName方法的作用是什么

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)java中Class.forName方法的作用是什么,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名申請虛擬主機(jī)、營銷軟件、網(wǎng)站建設(shè)、松山網(wǎng)站維護(hù)、網(wǎng)站推廣。

Java的特點(diǎn)有哪些

Java的特點(diǎn)有哪些 1.Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,實(shí)現(xiàn)了面向?qū)ο罄碚?,允許程序員以優(yōu)雅的思維方式進(jìn)行復(fù)雜的編程。 2.Java具有簡單性、面向?qū)ο?、分布式、安全性、平臺獨(dú)立與可移植性、動態(tài)性等特點(diǎn)。 3.使用Java可以編寫桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等。

java中Class.forName的作用

連接數(shù)據(jù)庫幾大步.看以下代碼

 import com.MySQL.jdbc.Driver;
  import java.sql.*;
  public class JdbcDemo {
  public static void main(String[] args) throws SQLException, ClassNotFoundException {
  String url = "jdbc:mysql://127.0.0.1:3306/mydb";
  String username = "root";
  String password = "redhat";
  Class.forName("com.mysql.jdbc.Driver");
  Connection connection = DriverManager.getConnection(url, username, password);
  String sql = "SELECT * FROM msg";
  PreparedStatement prepareStatement = connection.prepareStatement(sql);
  ResultSet resultSet = prepareStatement.executeQuery();
  resultSet.next();
  String address = resultSet.getString("address");
  System.out.println(address);
  }
  }

其中第一步,搞的我有點(diǎn)想不通.為啥Class.forName傳入了一段字符串之后,就知道我連接的數(shù)據(jù)庫是mysql? 有點(diǎn)不科學(xué)啊.Class.forName到底做了啥.下面就開始到源碼中,一探究竟.

@CallerSensitive
  public static Class forName(String className)
  throws ClassNotFoundException {
  Class caller = Reflection.getCallerClass();
  return forName0(className, true, ClassLoader.getClassLoader(caller), caller);
  }

發(fā)現(xiàn)它調(diào)用了forName0方法,繼續(xù)跟蹤再看看

private static native Class forName0(String name, boolean initialize,

ClassLoader loader,

Class caller)

throws ClassNotFoundException;

native方法,源碼也只能到此結(jié)束了.看下官方文檔,怎么說吧.

發(fā)現(xiàn)官方文檔,還是描述的很清楚的.

Returns the Class object associated with the class or interface with the given string name,

using the given class loader.

Given the fully qualified name for a class or interface (in the same format returned by getName)

this method attempts to locate, load, and link the class or interface.

The specified class loader is used to load the class or interface.

If the parameter loader is null, the class is loaded through the bootstrap class loader.

The class is initialized only if the initialize parameter is true and if it has not been

initialized earlier.

嗯,描述的還算是很清楚.返回一個給定類或者接口的一個Class對象,如果沒有給定classloader,那么會使用根類加載器.如果initalize這個參數(shù)傳了true,那么給定的類如果之前沒有被初始化過,那么會被初始化.我們在JDBC第一步的時候,傳入的參數(shù)是com.mysql.jdbc.Driver. 也就是說這個類會被初始化.我們看一下這個類里面的內(nèi)容.

public class Driver extends NonRegisteringDriver implements java.sql.Driver {

static {

try {

java.sql.DriverManager.registerDriver(new Driver());

} catch (SQLException E) {

throw new RuntimeException("Can't register driver!");

}

}

public Driver() throws SQLException {

// Required for Class.forName().newInstance()

}

}

我們發(fā)現(xiàn)這個類也是超級簡單的.一個構(gòu)造函數(shù)和一個靜態(tài)代碼塊.我們知道,類在初始化的時候,靜態(tài)代碼塊的內(nèi)容會被執(zhí)行的.也就是說我們Class.forName和直接寫DriverManager.registerDriver(new Driver)兩者功能是等同的.我們換成這種寫法.再試試看.

  public class JdbcDemo {
  public static void main(String[] args) throws SQLException, ClassNotFoundException {
  String url = "jdbc:mysql://127.0.0.1:3306/mydb";
  String username = "root";
  String password = "redhat";
  //Class.forName("com.mysql.jdbc.Driver");
  DriverManager.registerDriver(new Driver());
  Connection connection = DriverManager.getConnection(url, username, password);
  String sql = "SELECT * FROM msg";
  PreparedStatement prepareStatement = connection.prepareStatement(sql);
  ResultSet resultSet = prepareStatement.executeQuery();
  resultSet.next();
  String address = resultSet.getString("address");
  System.out.println(address);
  }
  }

上述就是小編為大家分享的java中Class.forName方法的作用是什么了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

本文題目:java中Class.forName方法的作用是什么
網(wǎng)址分享:http://aaarwkj.com/article32/pjdpsc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)網(wǎng)站制作、App開發(fā)、網(wǎng)站設(shè)計公司、App設(shè)計網(wǎng)站維護(hù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名
91麻豆成人精品国产| 日韩三级黄片在线观看| 少妇互射视频免费视频| 亚洲精品乱码在线播放| 国产一区欧美二区日韩三区| 中国亚洲视频一区二区| 88国产精品久久久久久| 首页亚洲一区二区三区| av成熟一区二区三区| 欧美成人黄色免费在线网站| 日韩精品视频一二三区| 中文字幕国产精品经典三级| 久久综合伊人欧美精品| 国产在线播放精品视频| 久久国内午夜福利直播| 国产丝袜肉丝在线播放| 婷婷久久香蕉毛片毛片| 国产成+人+综合+亚洲专区| 国产日韩欧美 一区二区三区| 日本不卡的三区四区五区| 日韩一区二区偷拍视频| 91免费在线观看高清| 在线观看日韩精品电影| 天天干夜夜泡天天操| 免费高清视频一区二区在线观看| 日韩不卡在线免费观看视频| 人妻中文字幕精品系列| 91精品一区二区三区91人妻| 国产伦精品二区三区视频| 日本韩国国语对白一区二区三区| 欧美日韩另类综合一区| av人妻熟女少妇蒂亚| 啊啊啊用力好大视频| 国产黄色一区二区三区四区| 日韩无遮挡免费在线观看| 不卡免费av在线高清| 国产尹人99大香蕉| 日韩国产欧美一区二区在线视频| 国产精品兄妹在线观看91| 久久成人影院免费观看| 免费午夜福利一区二区|