中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      java類加載器的樹狀組織結構

      時間:2024-10-14 12:18:29 JAVA認證 我要投稿
      • 相關推薦

      java類加載器的樹狀組織結構

        Java 中的類加載器大致可以分成兩類,一類是系統(tǒng)提供的,另外一類則是由 Java 應用開發(fā)人員編寫的。那么java類加載器有哪些,下面yjbys小編為大家一一解讀!

        系統(tǒng)提供的類加載器主要有下面三個:

        引導類加載器(bootstrap class loader):它用來加載 Java 的核心庫,是用原生代碼來實現(xiàn)的,并不繼承自 java.lang.ClassLoader。擴展類加載器(extensions class loader):它用來加載 Java 的擴展庫。Java 虛擬機的實現(xiàn)會提供一個擴展庫目錄。該類加載器在此目錄里面查找并加載 Java 類。系統(tǒng)類加載器(system class loader):它根據(jù) Java 應用的類路徑(CLASSPATH)來加載 Java 類。一般來說,Java 應用的類都是由它來完成加載的。可以通過 ClassLoader.getSystemClassLoader()來獲取它。除了系統(tǒng)提供的類加載器以外,開發(fā)人員可以通過繼承 java.lang.ClassLoader類的方式實現(xiàn)自己的類加載器,以滿足一些特殊的需求。

        除了引導類加載器之外,所有的類加載器都有一個父類加載器。通過 表 1中給出的 getParent()方法可以得到。對于系統(tǒng)提供的類加載器來說,系統(tǒng)類加載器的父類加載器是擴展類加載器,而擴展類加載器的父類加載器是引導類加載器;對于開發(fā)人員編寫的類加載器來說,其父類加載器是加載此類加載器 Java 類的類加載器。因為類加載器 Java 類如同其它的 Java 類一樣,也是要由類加載器來加載的。一般來說,開發(fā)人員編寫的類加載器的父類加載器是系統(tǒng)類加載器。類加載器通過這種方式組織起來,形成樹狀結構。樹的根節(jié)點就是引導類加載器。圖 1中給出了一個典型的類加載器樹狀組織結構示意圖,其中的箭頭指向的是父類加載器。

        圖 1. 類加載器樹狀組織結構示意圖

        代碼清單 1演示了類加載器的樹狀組織結構。

        清單 1. 演示類加載器的樹狀組織結構

       

      public class ClassLoaderTree {

       

      public static void main(String[] args) {

       

      ClassLoader loader = ClassLoaderTree.class.getClassLoader();

       

      while (loader != null) {

       

      System.out.println(loader.toString());

       

      loader = loader.getParent();

       

      }

       

      }

       

      }

        每個 Java 類都維護著一個指向定義它的類加載器的引用,通過 getClassLoader()方法就可以獲取到此引用。代碼清單 1中通過遞歸調(diào)用getParent()方法來輸出全部的父類加載器。代碼清單 1的運行結果如 代碼清單 2所示。

        清單 2. 演示類加載器的樹狀組織結構的運行結果

       

      sun.misc.Launcher$AppClassLoader@9304b1

       

      sun.misc.Launcher$ExtClassLoader@190d11

       

       

        如 代碼清單 2所示,第一個輸出的是 ClassLoaderTree類的類加載器,即系統(tǒng)類加載器。它是 sun.misc.Launcher$AppClassLoader類的實例;第二個輸出的是擴展類加載器,是 sun.misc.Launcher$ExtClassLoader類的實例。需要注意的是這里并沒有輸出引導類加載器,這是由于有些 JDK 的實現(xiàn)對于父類加載器是引導類加載器的情況,getParent()方法返回 null。

      【java類加載器的樹狀組織結構】相關文章:

      Java定時器代碼的編寫06-16

      企業(yè)項目管理組織結構09-02

      Java時間類及函數(shù)用法07-26

      java實現(xiàn)web服務器的方法10-14

      Java編寫計算器的的常見做法08-12

      Java Web服務器(應用服務器)10-03

      java語句及其控制結構題庫及答案06-24

      組織結構與企業(yè)戰(zhàn)略的匹配06-04

      解析"項目管理"知識的組織結構05-23

      Java認證考試知識點:Java時間類的函數(shù)09-08

      主站蜘蛛池模板: 元码人妻精品一区二区三区9| 亚洲天堂免费一二三四区| 精品蜜桃视频在线观看| 水蜜桃一二二视频在线观看免费| 加查县| 久久这里有精品国产电影网| 人妻有码中文字幕在线不卡| 久久精品黄色免费热线| av天堂资源网在线播放| 日韩精品不卡一区二区三区| 日本高清视频在线一区二区三区 | 加勒比日本东京热1区| 久久久午夜毛片免费| 高邑县| 彭山县| 国产精品一区二区午夜久久| 亚洲成a人片77777kkkkk| 精品日本一区二区视频| 国产欧美日本亚洲精品一4区| 久久国产色av老熟蜜臀av| 吉首市| 本溪| 渭南市| 国产偷闻隔壁人妻内裤av| 午夜福利偷拍国语对白| 四虎成人精品国产永久免费| 亚洲妇女av一区二区| 国产精品免费99久久久| 国产黑色丝袜在线观看视频| 国产成人综合亚洲av| 无码精品国产午夜| 亚洲精品二区在线观看| 日本色偷偷| 国产色婷婷亚洲99精品| 被黑人操的嗷嗷叫视频| 亚洲国产精品久久久久婷婷软件 | 岫岩| 中山市| 舒城县| 久久国产精品免费一区六九堂| 广丰县|