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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

JVM_02 类加载器子系统

發布時間:2025/3/15 windows 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JVM_02 类加载器子系统 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

①. 類的加載(掌握)

  • 簡述類的加載過程(掌握)
    當程序要使用某個類時,如果該類還未被加載到內存中,則系統會通過類的加載、類的鏈接、類的初始化這三個步驟來對類進行初始化。 如果不出現意外,JVM將會連續完成這三個步驟,所以有時也把這三個步驟統稱為類加載或者初始化

  • 什么是類的加載(Loading)
    類的加載指的是將類的.class文件中的二進制數據讀取到內存中,存放在運行時數據區的方法區中,并創建一個大的Java.lang.Class對象,用來封裝方法區內的數據結構

  • 鏈接(Linking)

    • ①. 驗證:確保Class文件的字節流中包含信息符合當前虛擬機要求,保證被加載類的正確性

    • ②. 準備:為類變量分配內存并且設置該類變量的默認初始化值 不會為實例變量分配初始化

    • ③. 解析: (將常量池中的符號引號轉換為直接引用的過程)

    解釋什么是符號引號和直接引用

    教室里有個空的位子沒坐人,座位上邊牌子寫著小明的座位(符號引用),后來小明進來坐下去掉牌子(符號引用換成直接引用)

  • 初始化(Initialization)
    • ①. 為類變量賦予正確的初始化值

    • ②. 初始化階段就是執行類構造器方法< clinit >()的過程

    • ③. 類的初始化階段就是執行類的構造方法(clinit)的過程 (構造器方法中指令按語句在源文件中出現的順序執行)

    • ④. < clinit > 不同于類的構造器,有靜態變量或static{ } 代碼塊 那么字節碼文件就有這個方法

    • ⑤. 若該類具有父類,Jvm會保證子類的< clinit >() 執行前,父類的< clinit >() 已經執行完成

    ②. 類加載器的介紹

    • ①. JVM支持兩種類型的類加載器,分別為引導類加載器(Bootstrap
      ClassLoader)和自定義類加載器(User-Defined ClassLoader)

    • ②.從概念上來講,自定義類加載器一般指的是程序中由開發人員自定義的一類類加載器,但是Java虛擬機規范并沒有這么定義,而是將所有派生于抽象類ClassLoader的類加載器都劃分為自定義類加載器

    • ③. sum.misc.Launcher:它是一個java虛擬機的入口應用

    • ④. 無論類加載器的類型如何劃分,在程序中我們常見的類加載器始終只有3個,如下所示:

  • 啟動類加載器
    • ①. 這個類加載使用C/C++語言實現的,嵌套在JVM內部

    • ②.它用來加載Java的核心類庫(JAVA_HOME/jre/lib/rt.jar、resource.jar或sum.boot.class.path路徑下的內容),用于提供JVM自身需要的類

    • ③. 并不繼承自java.lang.ClassLoader,沒有父加載器

    • ④. 加載擴展類和應用程序類加載器,并指定為他們的父類加載器

    • ⑤. 由于安全考慮,Bootstrap啟動類加載器只加載包名為java、javax、sun等開頭的類

  • 擴展類加載器(Extension ClassLoader)
    • ①. Java語言編寫,由sum.music.Launcher$ExtClassLoader實現

    • ②. 派生于ClassLoader類

    • ③.父類加載器為啟動類加載器

    • ④.從java.ext.dirs系統屬性所指定的目錄中加載類庫,或從JDK的安裝目錄的jre/lib/ext子目錄(擴展目錄)下加載類庫。如果用戶創建的JAR放在此目錄下,也貴自動由擴展類加載器加載

  • 應用程序類加載器(系統類加載器)
    • ①. java語言編寫,由sum.misc.Launcher$AppClassLoader實現

    • ②. 派生于ClassLoader類

    • ③. 父類加載器為擴展類加載器

    • ④. 它負責加載環境變量classpath或系統屬性java.class.path指定路徑下的類庫

    • ⑤. 該類加載是程序中默認的類加載器,一般來說,Java應用的類都是由它來完成加載

    • ⑥. 通過ClassLoader#getSystemClassLoader()方法可以獲取到該類加載器

  • 用戶自定義類加載器(了解)
    • ①. 在Java的日常應用程序開發中,類的加載幾乎是由上述3種類加載器相互配合執行的,在必要時,我們換可以自定義類加載器,來定制類的加載方式

    • ②. 如果獲取ClassLoader

  • 雙親委派機制 (掌握)
    • ①. 工作原理

    • ②. 優勢:

  • 沙箱安全機制 (掌握)

  • 如何判斷兩個Class對象是否相同
    ①. 相同必須的兩個條件如下:

  • ②. JVM必須知道一個類型是由啟動加載器加載還是用戶類加載器加載的。如果一個類型是又用戶類加載器加載的,那么JVM會將這個類加載器的一個引用作為類型信息的一部分保存在方法區中。

  • 主動使用和被動使用
  • 總結

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

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

    主站蜘蛛池模板: 黄瓜视频在线观看污 | 欧美日韩在线免费视频 | 日本高清不卡在线 | 天堂中文在线资源 | www成人| 成人国产精品免费观看 | 美女的奶胸大爽爽大片 | 双性尿奴穿贞c带憋尿 | 黄瓜视频在线播放 | 免费久久网站 | 成人免费视频免费观看 | www.久久视频 | www.啪 | 久久久精品视频在线观看 | 牛牛av国产一区二区 | 国产欧美精品一区二区在线播放 | 久久精品区 | 亚洲成人网在线观看 | 少妇被爽到高潮动态图 | 成人自拍视频 | 精品免费囯产一区二区三区 | 黄三级 | 日日干天天爽 | 中文字幕国产综合 | 大胸喷奶水www视频妖精网站 | 亚洲理伦| 在线观看国产 | 我看黄色一级片 | 自拍1页 | 日韩网站免费观看 | 1024亚洲天堂 | 手机成人av在线 | 日韩乱码人妻无码中文字幕久久 | 18岁免费观看电视连续剧 | 国产一区二区高清 | 密色av| 亚洲精品一区二区三区影院忠贞 | 日本一级吃奶淫片免费 | 久久影院午夜 | 日韩一级在线视频 | 日本免费网站 | 亚洲人毛茸茸 | 无码人妻一区二区三区免费 | 亚洲a∨无码无在线观看 | 一区免费观看 | 午夜肉伦伦影院 | 探花系列在线观看 | 成人一级影片 | 成人在线激情 | 国产九九精品视频 | 精品无码国产一区二区三区av | 国产区免费观看 | 韩国中文三级hd字幕 | 精品国产乱码久久久久久牛牛 | 亚洲mv一区 | 日韩av资源网 | jizz美女| 无套在线观看 | 美女免费福利视频 | 伊人成人22 | 欧美午夜性 | 中文字幕一区二区精品 | 艳妇臀荡乳欲伦交换电影 | 日本一区二区在线免费 | 欧美成人精品欧美一级乱黄 | 免费国产视频在线观看 | 想要xx视频 | 九九自拍偷拍 | av影院在线| 国产一级二级av | 亚洲偷自 | 国产xxxxwwww | 致单身男女免费观看完整版 | 久久一区二 | 五月情网 | 新天堂av| 偷偷操不一样的99 | 国产精品日韩精品 | 日本第一页| 一区二区日韩视频 | 日韩一区二区视频在线 | 欧美视频一二区 | 欧美一级专区 | 看黄色一级片 | 色综合加勒比 | 中文字幕欧美人妻精品一区蜜臀 | 亚洲精品欧洲 | a毛片| 午夜国产小视频 | 国产精品综合一区二区 | 色老大网站 | 看国产黄色片 | 午夜aaa片一区二区专区 | 日本免费中文字幕 | 国产香蕉一区 | 国产三级av在线 | 日韩高清中文字幕 | 欧美成人精品一区二区综合免费 | 国产精品久久久精品 |