反射(类的加载概述和加载时机)
生活随笔
收集整理的這篇文章主要介紹了
反射(类的加载概述和加载时机)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
類的加載
當(dāng)程序要使用某個類時,如果該類還未被加載到內(nèi)存中,則系統(tǒng)會通過加載,連接,初始化三步來實現(xiàn)對這個類進(jìn)行初始化。
加載?
就是指將class文件讀入內(nèi)存,并為之創(chuàng)建一個Class對象。
任何類被使用時系統(tǒng)都會建立一個Class對象。
連接
驗證
是否有正確的內(nèi)部結(jié)構(gòu),并和其他類協(xié)調(diào)一致
準(zhǔn)備
負(fù)責(zé)為類的靜態(tài)成員分配內(nèi)存,并設(shè)置默認(rèn)初始化值
解析
將類的二進(jìn)制數(shù)據(jù)中的符號引用替換為直接引用
初始化
就是我們以前講過的初始化步驟
?
類初始化時機(jī)
創(chuàng)建類的實例
訪問類的靜態(tài)變量,或者為靜態(tài)變量賦值
調(diào)用類的靜態(tài)方法
使用反射方式來強(qiáng)制創(chuàng)建某個類或接口對應(yīng)的java.lang.Class對象
初始化某個類的子類
直接使用java.exe命令來運行某個主類
總結(jié)
以上是生活随笔為你收集整理的反射(类的加载概述和加载时机)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 注解_案例_简单的测试框架
- 下一篇: 类加载器的概述和分类