亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

面試題:類加載器

v1 / 765人閱讀

摘要:面試題類加載器類加載器源代碼文件通過編譯成字節(jié)碼文件后,需要被加載到虛擬機(jī)的內(nèi)存空間中使用,這個(gè)過程就是類加載。該類加載器在此目錄里面查找并加載類。引導(dǎo)類加載器處理完成后,把剩下的給擴(kuò)展類加載器。

面試題:類加載器 1. Java類加載器

Java源代碼.java文件通過編譯成字節(jié)碼.class文件后,需要被加載到Java虛擬機(jī)的內(nèi)存空間中使用,這個(gè)過程就是類加載。類加載依靠的是Java類加載器

Java類加載器是Java運(yùn)行時(shí)環(huán)境的一部分,負(fù)責(zé)動態(tài)加載Java類到Java虛擬機(jī)的內(nèi)存空間中。類通常是按需加載的,即第一次使用該類時(shí)才加載。由于有了類加載器,Java運(yùn)行時(shí)系統(tǒng)不需要知道文件的位置與文件系統(tǒng)。

2. JVM的3個(gè)默認(rèn)類加載器

引導(dǎo)(Bootstrap)類加載器。由原生代碼C語言編寫,不繼承java.lang.ClassLoader。負(fù)責(zé)加載核心Java庫,存儲在/jre/lib目錄中。

擴(kuò)展(Extensions)類加載器。用來在指明的目錄中加載Java的擴(kuò)展類。Java虛擬機(jī)的實(shí)現(xiàn)會提供一個(gè)擴(kuò)展庫目錄。該類加載器在此目錄里面查找并加載Java類。該類由sun.misc.Launcher$ExtClassLoader實(shí)現(xiàn)。

Apps類加載器(也稱系統(tǒng)類加載器)。根據(jù)Java應(yīng)用程序的類路徑來加載Java類。一般來說,Java應(yīng)用程序的類都是由它來完成加載的,可以通過ClassLoader.getSystemClassLoader()來獲取它。該類由sun.misc.Launcher$AppClassLoader來實(shí)現(xiàn)。

每一個(gè)類加載器都有一個(gè)父裝載器(parent class loader)。

3. 如何保證一個(gè)類被加載一次

全盤負(fù)責(zé)委托機(jī)制

解釋:當(dāng)一個(gè)ClassLoader加載一個(gè)Class的時(shí)候,這個(gè)Class所依賴的和引用的其他Class通常也是由這個(gè)classloader負(fù)責(zé)載入的。例如加載一個(gè)普通的Demo類,Apps類加載器首先拿到這個(gè)類的class文件,先讓parent(父)類加載器也就是擴(kuò)展(Extensions)類加載器處理。擴(kuò)展(Extensions)類加載器拿到class文件后同樣先讓parent(父)類加載器處理,也就是引導(dǎo)(Bootstrap)類加載器會先處理屬于它應(yīng)該加載的部分。引導(dǎo)類加載器處理完成后,把剩下的給擴(kuò)展類加載器。擴(kuò)展類加載器處理屬于它的內(nèi)容,將剩下的部分交給Apps類加載器,Apps類加載器會加載剩下的全部內(nèi)容。

每個(gè)類加載器只會加載自己負(fù)責(zé)的部分。

這樣每個(gè)類只會被加載一次。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/74453.html

相關(guān)文章

  • Java面試加載

    摘要:面試題類加載器類加載器源代碼文件通過編譯成字節(jié)碼文件后,需要被加載到虛擬機(jī)的內(nèi)存空間中使用,這個(gè)過程就是類加載。該類加載器在此目錄里面查找并加載類。每一個(gè)類加載器都有一個(gè)父裝載器。引導(dǎo)類加載器處理完成后,把剩下的給擴(kuò)展類加載器。 面試題:類加載器 1. Java類加載器 Java源代碼.java文件通過編譯成字節(jié)碼.class文件后,需要被加載到Java虛擬機(jī)的內(nèi)存空間中使用,這個(gè)過...

    sshe 評論0 收藏0
  • Java面試:面向?qū)ο螅?em>類加載,JDBC, Spring 基礎(chǔ)概念

    摘要:為什么不是面向?qū)ο蟛皇敲嫦驅(qū)ο?,因?yàn)樗瑐€(gè)原始數(shù)據(jù)類型,例如。自定義類加載器繼承的自定義類加載器。可以像下面這樣指定參數(shù)面試題面向?qū)ο?,類加載器,基礎(chǔ)概念它們的關(guān)系如下啟動類加載器,實(shí)現(xiàn),沒有父類。自定義類加載器,父類加載器為。 1. 為什么說Java是一門平臺無關(guān)語言? 平臺無關(guān)實(shí)際的含義是一次編寫到處運(yùn)行。Java 能夠做到是因?yàn)樗淖止?jié)碼(byte code)可以運(yùn)行在任何操作...

    Euphoria 評論0 收藏0
  • Java面試:面向?qū)ο螅?em>類加載,JDBC, Spring 基礎(chǔ)概念

    摘要:為什么不是面向?qū)ο蟛皇敲嫦驅(qū)ο?,因?yàn)樗瑐€(gè)原始數(shù)據(jù)類型,例如。自定義類加載器繼承的自定義類加載器??梢韵裣旅孢@樣指定參數(shù)面試題面向?qū)ο螅惣虞d器,基礎(chǔ)概念它們的關(guān)系如下啟動類加載器,實(shí)現(xiàn),沒有父類。自定義類加載器,父類加載器為。 1. 為什么說Java是一門平臺無關(guān)語言? 平臺無關(guān)實(shí)際的含義是一次編寫到處運(yùn)行。Java 能夠做到是因?yàn)樗淖止?jié)碼(byte code)可以運(yùn)行在任何操作...

    longmon 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<