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

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

關(guān)于類加載器-創(chuàng)新互聯(lián)

  1. 類加載器作用

    在富裕等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作定制網(wǎng)站建設(shè),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),成都全網(wǎng)營銷推廣,外貿(mào)網(wǎng)站制作,富裕網(wǎng)站建設(shè)費(fèi)用合理。

負(fù)責(zé)將.class文件(存儲的物理文件)加載到內(nèi)存中

  1. 類加載的過程

  1. 類加載的時機(jī)

  • 創(chuàng)建類的實(shí)例(對象)

  • 調(diào)用嘞的類方法

  • 訪問類或者接口的類變量,或者為該類變量賦值

  • 使用反射方式來強(qiáng)制創(chuàng)建某個類或接口對應(yīng)的java.lang.Class對象

  • 初始化某個類的子類

  • 直接使用java.exe命令來運(yùn)行某個主類

  1. 類加載過程

  • 加載

通過包名 + 類名,獲取這個類,準(zhǔn)備用流進(jìn)行傳輸

在這個類加載到內(nèi)存中

加載完畢后創(chuàng)建一個class對象

  • 鏈接(驗(yàn)證-準(zhǔn)備-解析)

  • 驗(yàn)證 (文件中的信息是否符合虛擬機(jī)規(guī)范有沒有安全隱患)

確保Class文件字節(jié)流中包含的信息符合當(dāng)前虛擬機(jī)的要求,并且不會危害虛擬機(jī)自身安全

  • 準(zhǔn)備 (初始化靜態(tài)變量)

負(fù)責(zé)為類的類變量(被static修飾的變量) 分配內(nèi)存,并設(shè)置默認(rèn)初始化值(null)

  • 解析

將類的二進(jìn)制數(shù)據(jù)流中的符號引用替換為直接引用

  • 初始化 (靜態(tài)變量賦值以及初始化其他資源)

根據(jù)程序員通過程序指定的主觀計(jì)劃去初始化類變量和其他資源

  1. 類加載器的分類

  1. 分類

Bootstrap class loader: 虛擬機(jī)的內(nèi)置類加載器,通常表示為null,并且沒有父null

Platform class loader: 平臺類加載器,負(fù)責(zé)加載JDK中一些特殊的模塊

System class loader: 系統(tǒng)類加載器,負(fù)責(zé)加載用戶類路徑上所指的類庫

  1. 類加載器的繼承關(guān)系

System的父加載器為Platform

Platform的父加載器為 Bootstrap

public class ClassLoaderDemo1 {
    public static void main(String[] args) {
        //獲取系統(tǒng)類加載器
        ClassLoader systemClassLoader = ClassLoader.getSystemClassLoader();

        //獲取系統(tǒng)類加載器的父加載器 --- 平臺類加載器
        ClassLoader classLoader1 = systemClassLoader.getParent();

        //獲取平臺類加載器的父加載器 --- 啟動類加載器
        ClassLoader classLoader2 = classLoader1.getParent();

        System.out.println("系統(tǒng)類加載器" + systemClassLoader);
        System.out.println("平臺類加載器" + classLoader1);
        System.out.println("啟動類加載器" + classLoader2);

    }
}
  1. 雙親委派模型

  • 介紹

如果一個類加載器收到了類加載請求,自己并不會去加載,而是委派給父類加載器去執(zhí)行。

如果父類加載器還存在其父類加載器,則進(jìn)一步向上委托,依次遞歸,請求最終到達(dá)頂層的啟動類加載器。

如果父類加載器可以完成類加載任務(wù),就成功返回。

倘若父類加載器無法完成此加載任務(wù),子加載器才會嘗試自己去加載,這就是雙親委派模式

  1. ClassLoader中常用的兩個方法

  • pubic static ClassLoader getSystemClassLoader() 獲取系統(tǒng)類加載器

  • public InputStream getResourceAsStream(String name) 加載某個資源文件

public class ClassLoaderTest {
    public static void main(String[] args) throws IOException {
        ClassLoader systemClassLoader = ClassLoader.getSystemClassLoader();
        InputStream is = systemClassLoader.getResourceAsStream("app.properties");
        Properties prop = new Properties();
        prop.load(is);
        System.out.println(prop);
    }
}

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧


文章題目:關(guān)于類加載器-創(chuàng)新互聯(lián)
當(dāng)前地址:http://weahome.cn/article/jdpio.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部