當前位置:編程學習大全網 - 源碼下載 - java什麽時候bootstrp類加載器會無法加載?

java什麽時候bootstrp類加載器會無法加載?

以下屬於個人理解哈

類加載器加載,可以理解為,它從壹些資源裏解析類信息加載到虛擬機

最簡單的就是我們的代碼在jar包裏,jar裏的class文件是怎麽被讀到虛擬機裏並能產生類對象的,就是因為有類加載器找到了這個jar,並且解析讀取了jar,讀到裏面的class文件,進而加載至虛擬機

至於為什麽好幾層類加載器,我覺得是程序定義了不同層次的資源,比如首先得嘗試加載jdk本身的庫、jar,然後我們自己寫的代碼也被類加載器掃描解析加載

所以這裏面,至少就有2個層次,1個是像jdk這種,我們用jdk就會用它的庫,如果它自己沒有類加載器運行就會有問題,(類似的比如我們用某些框架,框架本身也可能會寫自己的類加載器並加載自己需要的資源),然後我們自己開發的代碼也是相當於jdk給預留了掃描的位置,我們在其中添加的class會被讀到(配置源代碼,配置library啥的),那麽如果我們添加到不是jdk能識別的位置,它肯定就加載不了了...需要我們手動加載

(很實際的例子,spring的bean不就是配了壹個bean的xml,掃描文件讀取解析嗎,如果放的不是xml是class文件呢對不對)

至於為什麽雙親委派,這個搜壹搜就會有答案了,防止出現相同的類的定義就可能導致無法確定類是哪個了...

比如手殘非要按jdk代碼壹樣寫個java.lang.Object...(寫不了的哈)

類加載器:?

所以先保證底層的類加載先加載完需要的類,加載不了的再交給子加載器,逐層嘗試加載完所需要的的資源

  • 上一篇:想做壹個微信小程序,是定制的好還是模板的好呢?
  • 下一篇:算法工程師壹般是做什麽的?
  • copyright 2024編程學習大全網