真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Java類被加載過程

本篇內(nèi)容主要講解“Java類被加載過程”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“Java類被加載過程”吧!

連山ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!


static修飾符表示靜態(tài)的,在類加載時Jvm會把它放到方法區(qū),被本類以及本類的所有實例所共用。在編譯后所分配的內(nèi)存會一直存在,直到程序退出內(nèi)存才會釋放這個空間。如果一個被所有實例共用的方法被申明為static,那么就可以節(jié)省空間,不用每個實例初始化的時候都被分配到內(nèi)存。

Java類被加載過程

類裝載器把一個類裝入Java虛擬機中,要經(jīng)過三個步驟來完成:

①. 加載(以二進(jìn)制形式來生成Class對象)

②. 鏈接(又分為驗證、準(zhǔn)備和解析)   

  • 校驗:檢查導(dǎo)入類或接口的二進(jìn)制數(shù)據(jù)的正確性;

  • 準(zhǔn)備:給類的靜態(tài)變量分配并初始化存儲空間;

  • 解析:將符號引用轉(zhuǎn)成直接引用;

③. 初始化(激活類的靜態(tài)變量和靜態(tài)代碼塊、初始化Java代碼)

  • 靜態(tài)變量

  • 靜態(tài)方法

  • 靜態(tài)代碼塊

靜態(tài)代碼塊就是在類加載器加載對象時,要執(zhí)行的一組語句。靜態(tài)塊只會在類加載到內(nèi)存中的時候執(zhí)行一次,位置可以隨便放,如果static代碼塊有多個,JVM將按照它們在類中出現(xiàn)的先后順序依次執(zhí)行它們,每個代碼塊只會被執(zhí)行一次。

static{
    //在類被加載的時候用于初始化資源,僅能訪問靜態(tài)變量和靜態(tài)方法
    System.out.println("StaticExample static block");
}
  • 靜態(tài)類

只能在內(nèi)部類中定義靜態(tài)類,靜態(tài)內(nèi)部類與外層類綁定,即使沒有創(chuàng)建外層類的對象,它一樣存在。靜態(tài)類的方法可以是靜態(tài)的方法也可以是非靜態(tài)的方法,靜態(tài)的方法可以在外層通過靜態(tài)類調(diào)用,而非靜態(tài)的方法必須要創(chuàng)建類的對象之后才能調(diào)用。只能引用外部類的static成員變量(也就是類變量),當(dāng)然前提是滿足修飾關(guān)鍵字(public等)的可見性要求。

如果一個內(nèi)部類不是被定義成靜態(tài)內(nèi)部類,那么在定義成員變量或者成員方法的時候,是不能夠被定義成靜態(tài)的。

public class OuterClass {  
    public static class InnerClass{  
        InnerClass(){  
            System.out.println("靜態(tài)內(nèi)部類");  
        }  
    }  
}

到此,相信大家對“Java類被加載過程”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!


分享名稱:Java類被加載過程
瀏覽路徑:http://weahome.cn/article/igdopp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部