下面給出的Java中Class Loader中的描述,哪些描述是正確的(C)
A Class Loader 沒有層次關(guān)系
B 所有類中的Class Loader都是 App Class Loader
C 通過class for name (String class Name)能夠動態(tài)加載一個類
D 不同的Class Loader 加載同一個Class文件,所得的類是相同的
拓展知識Class Loader 知識
(1)Class Loader基本概念
與C或C++編寫的程序不同,Java程序并不是一個可執(zhí)行文件,而是由許多獨(dú)立的類文件組成的,每一個文件對應(yīng)一個Java類。此外,這些類文件并非全部裝入內(nèi)存,而是根據(jù)程序需要逐漸載入Class Loader是JVM實(shí)現(xiàn)的一部分,Class Loader包括bootstrap Class Loader,Class Loader在JVM運(yùn)行的時候加載的Java核心的API,以滿足Java程序基本的需求,其中就包括用戶定義的Class Loader,這里所謂的用戶定義,是指通過Java程序?qū)崿F(xiàn)的兩個Class Loader一個是Ext Class Loader,它的作用是用來加載Java擴(kuò)展API,也就是/lib/ext中的類;第二個是App Class Loader,他是用來加載用戶機(jī)器上CLASSPATH設(shè)置目錄中的class的,通常在沒有制定CLASSLOADER的情況下,程序員自定義的類就由該Class Loader進(jìn)行加載。
(2)Class Loader加載流程
當(dāng)運(yùn)行一個程序的時候,JVM啟動,運(yùn)行bootstrap Class Loader,該Class Loader加載Java核心API,然后調(diào)用Ext Class Loader加載拓展API,然后App Class Loader加載CLASSPATH目錄下定義的Class,這就是一個程序基本的加載流程.
更多Java知識,Java視頻,Java教程盡在動力節(jié)點(diǎn),關(guān)注動力節(jié)點(diǎn)微信,得一手Java面試題。