1. 程式人生 > 其它 >PAT乙級-1007 素數對猜想

PAT乙級-1007 素數對猜想

類載入過程

物件存放
Student student=new Student();
其中物件實體存放在堆中,而物件引用存放在棧中

類載入器

  • 根載入器(引導類載入器,Bootstrap ClassLoader)
    • rt.jar檔案(使用c,c++編寫的,巢狀在JVM內部,它用來載入Java的核心庫(JAVA_HOME/jre/lib/rt.jar、resource.jar或sun.boot.class.path路徑下的內容))
    • 它並不繼承java.lang.ClassLoader,沒有父類載入器;載入擴充套件類和應用程式類載入器並指定為他們的父類載入器。
    • 出於安全考慮,Bootstrap啟動類載入器只加載包名為java、javax、sun等開頭的類。
    • 啟動類載入範圍為jre/lib目錄下的resources.jar、rt.jar、sunrsasign.jar、jsse.jar、jce.jar、charsets.jar、jfr.jar以及jre目錄下的classes
  • 擴充套件類載入器 (Extension ClassLoader)
    • /jre/lib/ext子目錄(擴充套件目錄)下載入類庫
    • Java語言編寫,由sun.misc.Launcher$ExtClassLoader實現,派生於ClassLoader類。
  • 應用程式類載入器(系統類載入器,AppClassLoader)
    • Java語言編寫,由sun.misc.Launcher$ExtClassLoader實現,派生於ClassLoader類,它的父類載入器為擴充套件類載入器。
    • 它負責載入環境變數classpath或系統屬性java.class.path指定路徑下的類庫,該類是程式中預設的類載入器,一般Java應用的類都是由它來完成載入;可以通過classLoader#getSystemClassLoader()方法來獲取該類載入器。