日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

类加载器【理解】

發布時間:2024/4/13 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 类加载器【理解】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

類加載器的作用

  • 負責將.class文件加載到內存中,并為之生成對應的 java.lang.Class 對象。雖然我們不用過分關心類加載機制,但是了解這個機制我們就能更好的理解程序的運行!

JVM的類加載機制

  • 全盤負責:就是當一個類加載器負責加載某個Class時,該Class所依賴的和引用的其他Class也將由該類加載器負責載入,除非顯示使用另外一個類加載器來載入

  • 父類委托:就是當一個類加載器負責加載某個Class時,先讓父類加載器試圖加載該Class,只有在父類加載器無法加載該類時才嘗試從自己的類路徑中加載該類

  • 緩存機制:保證所有加載過的Class都會被緩存,當程序需要使用某個Class對象時,類加載器先從緩存區中搜索該Class,只有當緩存區中不存在該Class對象時,系統才會讀取該類對應的二進制數據,并將其轉換成Class對象,存儲到緩存區

Java中的內置類加載器

  • Bootstrap class loader:它是虛擬機的內置類加載器,通常表示為null ,并且沒有父null

  • Platform class loader:平臺類加載器可以看到所有平臺類 ,平臺類包括由平臺類加載器或其祖先定義的Java SE平臺API,其實現類和JDK特定的運行時類

  • System class loader:它也被稱為應用程序類加載器 ,與平臺類加載器不同。 系統類加載器通常用于定義應用程序類路徑,模塊路徑和JDK特定工具上的類

  • 類加載器的繼承關系:System的父加載器為Platform,而Platform的父加載器為Bootstrap

ClassLoader 中的兩個方法

  • 方法分類

    方法名說明
    static ClassLoader getSystemClassLoader()返回用于委派的系統類加載器
    ClassLoader getParent()返回父類加載器進行委派
  • 示例代碼

public class ClassLoaderDemo {public static void main(String[] args) {//static ClassLoader getSystemClassLoader():返回用于委派的系統類加載器ClassLoader c = ClassLoader.getSystemClassLoader();System.out.println(c); //AppClassLoader//ClassLoader getParent():返回父類加載器進行委派ClassLoader c2 = c.getParent();System.out.println(c2); //PlatformClassLoaderClassLoader c3 = c2.getParent();System.out.println(c3); //null} }

?

總結

以上是生活随笔為你收集整理的类加载器【理解】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。