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

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://www.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精品手机国产在线| 91制片国产在线观看| 亚洲情色精品国产一区| 亚洲日本韩国美女二区| 少妇被又粗又硬猛烈进视频| 91九色在线精品人妻| 精品人妻少妇av一区二区| 日韩一区二区高清看片| 黑人精品少妇一区二区三区| 天美传媒剧国产在线观看| 日本精品中文字幕人妻| 亚洲精品一级黄色片| 国产精品欧美一区久久| 中文字幕人妻丝袜乱一区二区| 欧美日韩欧美日韩一区二区| 九月丁香花开综合网| 日本亚洲中文字幕无吗| 中文字幕在线五月婷婷| 伊人99热这里只有精品| 日韩精品极品在线免费视频 | 欧美日韩亚洲综合国产人| 国产精品白丝一区二区三区| 国产人妖cd蜜雅丝袜美女| 亚洲欧洲日本一区精品| 亚洲黄片在线免费播放观看| 日韩在线观看精品亚洲| 欧美日韩一级性生活片| 亚洲毛片在线免费播放| 亚洲夫妻性生活免费视频| 国产精品熟女亚洲av| 欧美三级伦理片免费观看| 日韩欧美一区二区福利视频| 国产精品一区二区av不卡| 亚洲国产天堂久久综合| 护士一级特黄特色大片| 美腿丝袜亚洲综合一区| 久久精品一区二区婷婷| 亚洲欧洲日韩综合另类| 午夜看片国产操黑丝91网| 久久中文人妻丝袜不卡| 啄木乌法国一区二区三区|