4.類加載器與類的加載過程概述

1.類加載器子系統作用

負責從文件系統或者網絡中將Class文件加載到內存中,生成一個大的Class的對象實例。
只負責加載,是否可以執行由執行引擎決定。
加載的類信息存放在一塊稱爲方法區的空間中。除了類信息之外,方法區中還會存放運行時常量池信息。
在這裏插入圖片描述

2.類加載器子系統的角色

現在有一個類Car,編譯之後保存在本地硬盤的Class文件中。然後通過類加載器(ClassLoader)加載到方法區中,就是內存中的Car Class實例。然後通過Car Class對象的getClassLoader方法,可以獲取是誰加載的Car這個類。然後可以通過調用Car Class的構造器方法創建多個Car的實例。通過調用Car實例的getClass方法還可以獲取到是哪個類被用來創建了這個Car對象。
由class文件 -->JVM --> 元數據模板,是通過類加載器完成的。
物理磁盤上的class文件加載到內存中是通過二進制流的方式。
在這裏插入圖片描述

3.類加載過程簡單的例子

有一個HelloLoader類,它包含一個main方法。現在要執行這個類方法,首先類加載器會判斷這個類有沒有被加載到內存中,如果沒有,則會進行加載;如果加載失敗,會拋出異常。
在加載完成之後會進行鏈接、初始化過程,最終會調用HelloLoader的main方法。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章