1. 程式人生 > >InputStream in = JdbcUtil.class.getClassLoader().getResourceAsStream("dbinfo.properties");

InputStream in = JdbcUtil.class.getClassLoader().getResourceAsStream("dbinfo.properties");

ade ava ext root 配置 一行 進行 正是 sstream

1.與普通程序不同的是,Java程序(class文件)並不是本地的可執行程序。當運行Java程序時,首先運行JVM(Java虛擬機),然後再把Java class加載到JVM裏頭運行,負責加載Java class的這部分就叫做Class Loader。中文叫做類加載器。

Java虛擬機中可以安裝多個類加載器,系統默認三個主要類加載器,每個類負責加載特定位置的類:BootStrap,ExtClassLoader,AppClassLoader

類加載器也是Java類,因為其他是java類的類加載器本身也要被類加載器加載,顯然必須有第一個類加載器不是不是java類,這正是BootStrap。

Java虛擬機中的所有類裝載器采用具有父子關系的樹形結構進行組織,在實例化每個類裝載器對象時,需要為其指定一個父級類裝載器對象或者默認采用系統類裝載器為其父級類加載。

2.類加載指的是將類的class文件讀入內存,並為之創建一個java.lang.Class對象,而系統中所有的類,它們實際上也是對象,稱為類對象,它們都是java.lang.Class的實例,虛擬機為每種類型管理一個獨一無二的Class對象,也就是說,每個類(型)都有一個Class對象.

3. java中class.forName和classLoader都可用來對類進行加載。properties一般放配置信息的,存放的是鍵值對格式.如userName=root 這樣便於管理!
jdbcUtil.class 得到的是class JdbcUtil ,class對象是java.lang.Class<T>這個類生成的對象,每個類都有一個class對象
getResourceAsStream(),返回的是InputStream 對象,
Properties類是用來操作properties文件的
props.load(in) ,加載進來,進行一行一行的讀取
類加載器屬於動態的載入,可以提高讀寫效率.
還可以用java.util.ResourceBundle的類來讀取properties文件.ResourceBundle.getBundle("文件名").getString("鍵");

InputStream in = JdbcUtil.class.getClassLoader().getResourceAsStream("dbinfo.properties");