国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Inside JVM 學習日志【一】

2019-11-08 02:39:13
字體:
來源:轉載
供稿:網友

圣思園找的文檔和視頻,這里記錄筆記

虛擬機什么時候掛掉

System.exit()程序正常結束程序因異常或錯誤終止操作系統出現錯誤

虛擬機掌管著類和對象

加載:查找并加載類的二進制數據 將.class文件加載到內存(運行時方法區)在堆區創建一個class對象,用來封裝類在方法區內的數據結構連接 驗證:確保被加載類的正確性準備: 為類的靜態變量分配內存,并將其初始化為默認值解析:把類中的符號引用轉換為直接引用初始化:為類的靜態變量賦予正確的初始值

變量和方法在棧里,對象在堆里,字節碼在方法區

主動使用

當加載、連接完成后,虛擬機在類被“首次主動使用”時初始化它們

new instance訪問 static 變量或賦值調用 static 方法反射 Class.forName初始化一個類的子類啟動類

初始化子類時必須先初始化父類,但不會先初始化實現的接口,初始化接口時也不會先初始化其父接口。只有首次使用接口的靜態變量時,才會導致接口的初始化。


類加載器

  類加載器把類加載到JVM中。   類的加載采用父委托機制,這種機制能更好保證java平臺的安全。在此委托機制中,除了Bootstrap之外,其余的ClassLoaer有且只有一個ClassLoader。   這種父子關系并不是繼承關系,Bootstrap根本不是java對象,怎么繼承?它們實際上是包裝關系。    JVM自帶

根類加載器  Bootsrap擴展類加載器 Extension系統類加載器 System

用戶自定義

java.lang.ClassLoader的子類

Bootstrap

  頂層加載器,C++實現,負責加載JVM的核心類庫,如加載java.lang.Object。從系統屬性sun.boot.class.path指定目錄加載類庫。   

Extension

  它的父加載器為根加載器,java實現,繼承java.lang.ClassLoader。從系統屬性java.ext.dirs指定目錄或jre/lib/ext安裝目錄加載類庫。   

System

  也稱應用類加載器,父加載器為擴展類加載器,繼承java.lang.ClassLoader。從環境變量classpath或者系統屬性java.class.path指定目錄加載類。   System是用戶自定義的類加載器的默認父加載器。   

ClassLoader

  所有用戶自定義的類加載器應該繼承ClassLoader類。   

定義類加載器和初始類加載器

  如果一個類加載器能成功加載指定類,那它就被稱為定義類加載器,所有能成功返回Class對象的引用的類加載器(包括定義類加載器)都被稱為初始類加載器。

命名空間

  每個類加載器都有自己的命名空間,命名空間由自己和所有父加載器所加載的類組成。   由同一類加載器加載的屬于相同包的類組成運行時包。同一類、同一包才能互相訪問包可見。這樣限制可以避免用戶冒充核心類庫中的類,去訪問核心類庫的包可見成員。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿合奇县| 巧家县| 阜南县| 若尔盖县| 新巴尔虎左旗| 嘉荫县| 河津市| 乳山市| 上思县| 罗平县| 亳州市| 衡山县| 鹤壁市| 苏州市| 阜城县| 凤城市| 吉木乃县| 桃园市| 洛隆县| 富顺县| 兴义市| 翼城县| 灵川县| 峨边| 年辖:市辖区| 萨迦县| 页游| 永和县| 左云县| 镇江市| 灌阳县| 南昌市| 章丘市| 高台县| 普安县| 和龙市| 鄢陵县| 南丰县| 开远市| 鄂托克前旗| 泽库县|