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

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

JVM技術,反射與動態代理

2019-11-18 15:32:47
字體:
來源:轉載
供稿:網友

   java程序的工作機制:Java對象都以單獨的class文件存在,java虛擬機將其載入并執行其虛擬機指令。

 

Java虛擬機查找這些java對象:

java虛擬機根據class path來查找java對象,而虛擬機的class path又分為三層:

bootstrap:sun.boot.class.path

extension: java.ext.dirs

application: java.class.path

三個class path各有對應的classloader。由上而下形成父子關系

當程序中調用new指令,或者ClassLoader.load方法時。其順序如下:

1.       首先查看application的classloader中是否已有對應的class緩存,假如有則返回,并根據class分配內存。假如沒有,接下一步。

2.       首先查看extension的classloader中是否已有對應的class緩存,假如有則返回,并根據class分配內存。假如沒有,接下一步。

3.       首先查看bootstrap的classloader中是否已有對應的class緩存,假如有則返回,并根據class分配內存。假如沒有,接下一步。

4.       由bootstrap的classloader在其class path中試圖加載該class,假如有,則將該class放入cache中,并返回。假如沒有,接下一步。

5.       由extension的classloader在其class path中試圖加載該class,假如有,則將該class放入cache中,并返回。假如沒有,接下一步。

6.       由application的classloader在其class path中試圖加載該class,假如有,則將該class放入cache中,并返回。假如沒有,則拋出ClassNotFound的exception。

 

Java虛擬機加載這些java對象:



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武定县| 嵊泗县| 金坛市| 万年县| 陆丰市| 潢川县| 上栗县| 禹城市| 襄垣县| 济源市| 石台县| 屏山县| 株洲县| 虞城县| 乾安县| 兴城市| 紫金县| 西丰县| 长沙市| 酒泉市| 兴国县| 卢龙县| 新宁县| 桂阳县| 玉树县| 襄汾县| 宁海县| 灵石县| 屏边| 封开县| 孝感市| 宁安市| 调兵山市| 兰溪市| 西吉县| 桓台县| 分宜县| 盱眙县| 东平县| 姜堰市| 高平市|