1. 程式人生 > 其它 >前端幾種常見適配方式的方法總結

前端幾種常見適配方式的方法總結

類載入器

類載入

  • 類的載入
  • 類的連線
  • 類的初始化

類載入器

  • 作用:

  • 負責將.class檔案載入到記憶體中,併為之生成對應的java.lang.Class 物件

  • JVM的內載入機制:

    • 全盤負責
    • 父類委託
    • 快取機制
  • ClassLoader:負責載入類的物件

    • Bootstrap class loader 。 它是虛擬機器的內建類載入器,通常表示為null ,並且沒有父null

    • Platform class loader 。平臺類載入器可以看到所有平臺類 ,可以將其用作ClassLoader例項的父ClassLoader 。 平臺類包括由平臺類載入器或其祖先定義的Java SE平臺API,其實現類和JDK特定的執行時類。

    • System class loader 。 它也被稱為應用程式類載入器 ,與平臺類載入器不同。 系統類載入器通常用於定義應用程式類路徑,模組路徑和JDK特定工具上的類。 平臺類載入器是所有平臺類對其可見的系統類載入器的父級或祖先。

  • System的父類載入器為Platform,而PlatForm的父類載入器為Bootstrap

public static ClassLoader getSystemClassLoader()返回用於委派的系統類載入器。
public final ClassLoader getParent()返回父類載入器進行委派。
package com.reflect.classLoader;

public class ClassLoaderDemo01 {
    public static void main(String[] args) {
        //public static ClassLoader getSystemClassLoader()返回用於委派的系統類載入器。
        ClassLoader c = ClassLoader.getSystemClassLoader();
        System.out.println(c);//AppClassLoader

        //public final ClassLoader getParent()返回父類載入器進行委派。
        ClassLoader c2 = c.getParent();
        System.out.println(c2);//ExtClassLoader

        ClassLoader c3 = c2.getParent();
        System.out.println(c3);//null
    }
}