内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

javaJVM-自定義類加載器-創(chuàng)新互聯(lián)

自定義文件系統(tǒng)類加載器

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),武鳴企業(yè)網(wǎng)站建設(shè),武鳴品牌網(wǎng)站建設(shè),網(wǎng)站定制,武鳴網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,武鳴網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
public class Loader extends ClassLoader{
    private String rootDir;

public Loader(String rootDir)
{
    this.rootDir=rootDir;
}

//重寫父類方法
protected Class<?> findClass(String name) throws ClassNotFoundException{

    Class<?> c=findLoadedClass(name); //查找已經(jīng)被加載的類,返回Class類的實例

    //不為空則返回已經(jīng)加載過的類
    if(null!=c)
    {
        return c;
    }else  //如果沒有類,讓父類去加載
    {
        ClassLoader parent =this.getParent();
        try {
        c=parent.loadClass(name);   //委派父類加載
        }catch(Exception e)
        {
            e.printStackTrace();
        }
        if(c!=null)
        {
            return c;
        }else   //如果還沒獲取,則讀取d:/myjava/cn/sxt/in/User.class下的文件,轉(zhuǎn)換成字節(jié)數(shù)組
        {
            byte[] classData=getClassData(name);
            if(classData==null)
            {
                throw new ClassNotFoundException(); //如果沒加載到,手動拋出異常
            }else
            {
                c=defineClass(name,classData,0,classData.length);
            }
        }
    }
    return c;
}

    private byte[] getClassData(String classname)
{
    String path=rootDir+"/"+classname.replace('.', '/')+".class";
    ByteArrayOutputStream bos=null;
    InputStream is=null;
    try {
        is=new FileInputStream(path);
        bos=new ByteArrayOutputStream();
        byte[] buffer=new byte[1024];
        int len=-1;
       while((len=is.read(buffer))!=-1)
        {
            bos.write(buffer,0,len);
        }
        bos.flush();
        return bos.toByteArray();
    }
    catch(Exception e)
    {
        e.printStackTrace();
    }finally {
        try { if(null!=is)
            {
             is.close();
            }
        }catch(IOException e)
        {
            e.printStackTrace();
        }
         try
         {
             if(null!=bos)
             {
                 bos.close();
             }
         }catch(IOException e)
         {
             e.printStackTrace();
         }

    }
    return null;
}
}

加載:

public class Tt {

public static void main(String[] args) throws Exception {

    Loader loader=new Loader("d:myjva");
    Loader loader2=new Loader("d:myjva");
    Class<?> c=loader.loadClass("cn.sxt.in.HelloWorld");
    Class<?> c2=loader.loadClass("cn.sxt.in.HelloWorld");
    Class<?> c3=loader2.loadClass("cn.sxt.in.HelloWorld");
    Class<?> c4=loader2.loadClass("java.lang.String");
    Class<?> c5=loader2.loadClass("cn.sxt.in.helloworld"); //調(diào)用項目下的文件
    //加載器不一樣加載相同類會被JVM認(rèn)為是不同類
    System.out.println(c.hashCode());
    System.out.println(c2.hashCode());
    System.out.println(c3.hashCode());
    System.out.println(c4.hashCode());
    System.out.println(c3.getClassLoader());  //返回自定義的加載器
    System.out.println(c4.getClassLoader()); //用的引導(dǎo)類加載器,返回null
    System.out.println(c5.getClassLoader()); //返回的是應(yīng)用類加載器
}
}

cmd:編譯java文件

C:\Users\10853>d:

D:\>cd myjava

D:\myjava>javac -d . HelloWorld.java

D:\myjava>java cn.sxt.in.HelloWorld
aa

D:\myjava>

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

當(dāng)前標(biāo)題:javaJVM-自定義類加載器-創(chuàng)新互聯(lián)
分享URL:http://www.rwnh.cn/article32/cejosc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作品牌網(wǎng)站制作、ChatGPT網(wǎng)頁設(shè)計公司、網(wǎng)站設(shè)計公司軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
涪陵区| 师宗县| 汶上县| 茌平县| 长沙县| 福安市| 泸西县| 图片| 甘肃省| 天长市| 泽州县| 张家界市| 包头市| 东乡| 房产| 桂东县| 土默特左旗| 西乌珠穆沁旗| 周口市| 通许县| 都江堰市| 无为县| 潍坊市| 高安市| 桂东县| 温州市| 将乐县| 马关县| 革吉县| 荥阳市| 揭东县| 横山县| 叶城县| 英吉沙县| 达日县| 聊城市| 芒康县| 天门市| 苏尼特右旗| 怀宁县| 邵武市|