<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # Java 類加載器 > 原文: [https://javabeginnerstutorial.com/core-java-tutorial/java-class-loader/](https://javabeginnerstutorial.com/core-java-tutorial/java-class-loader/) ## 簡介:什么是類加載器 應用中的所有類文件在啟動時都不會加載到內存中,而是根據程序的需要按需加載,此類的加載是由類加載器完成的。 類加載器是 JVM 的一部分,可將類加載到內存中。 Java 類加載器是用 Java 本身編寫的(與以 *C++* 編寫的 JVM 相反)。 這意味著在需要時可以輕松開發自定義類加載器,而無需了解 JVM 的細節。 `ClassLoader`是一個抽象類,它是`java.lang`包的一部分。 * * * ## 類加載器的工作方式 一個應用可能需要不同的類才能在運行時正常運行,每當一個應用在運行時需要一個類時,類加載器都會查找給定的類名,如果找到則將其加載到內存中。 提供要加載的類的名稱后,類加載器將嘗試在不同位置查找構成類定義的數據。 類加載器搜索的位置將按照給定的順序。 1. 首先在 JRE 的`lib/ext`目錄以及系統范圍,特定于平臺的擴展目錄中的 JAR 文件中查找類。 2. 其次在類路徑(`java.class.path`屬性)中查找該類。 類路徑的默認值是當前目錄,但是可以用不同的方式更改此值。 * * * ## 類加載器層次結構 `ClassLoader`使用委托模型來搜索要加載的類和資源。 每個`ClassLoader`實例將`具有`關聯的父類加載器。 當類加載器獲得查找類的請求時,給定的 `ClassLoader` 會在嘗試查找類或資源本身之前將對類或資源的搜索委托給其父類加載器。 Bootstrap 類加載器位于類加載器層次結構的頂部。 Bootstrap 類加載器是虛擬機中的內置類加載器。 Bootstrap 類加載器沒有任何父項。 * * * ## 類加載器的類型 Java 類加載器可以分為 4 種類型。 ### 自舉類加載器 它是超類加載器。 它沒有任何父類類加載器。 它將 Java 的核心類(如`java.lang`,`java.util`包中的類)加載。 ### 擴展類加載器 擴展類加載器將在 JRE 的`lib/ext`目錄以及系統范圍,特定于平臺的擴展目錄中的 JAR 文件中加載類。 自舉類加載器將是擴展類加載器的父級。 開發人員可以在`ext`文件夾中手動添加 jar,以使其由擴展類加載器加載。 ### 系統類加載器 系統類加載器將在類路徑(`java.class.path`屬性)中加載類。 擴展類加載器作為系統類加載器的父級。 類路徑的默認值是當前目錄,但是可以用不同的方式更改此值。 1. 設置`CLASSPATH`環境變量。 2. 通過`-classpath`或`-cp`命令行選項提供的值。 ### 自定義類加載器 開發人員還可以根據需要創建自定義類。 * * * ## 使用自定義類加載器的優勢 1. 應用服務器中的熱部署 2. 自定義類加載器,以供瀏覽器在執行不受信任的代碼之前檢查安全性證書。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看